Make JointState a proper class: Part 1

I'm moving most of the "compute JointState transforms" logic into the JointState class itself.  This is the first stage.  More will follow.

The goal is to eventually store the JointState transforms in the model-frame so it is easier to use them with a virlet ragdoll system which will blend driven and simulated avatar motions.