Refactor JointMarker and related classes to allow multiple sub-types, particularly prismatic which is needed for Curi.