Use mass center in Rigid's free motion

The mass center was not being used to calculate rigid body dynamics.
Torques were in effect being applied around (0,0,0), which for most of
the shapes is the mass center. But for meshes, the mass center is likely
to be somewhere else. This change shifts the frame of reference to the
center of mass.
Removes CommonDevice::m_initialInputData.
It is not being used anywhere that m_inputData is not appropriate, and
it complicates the interface with InputConsumerInterface since the
DataGroup object passed to initializeInput is different from the one
passed to handleInput.
Add RigidBodies Physics render test + box/sphere.ply meshes

1) Rigid bodies with different sizes (therefore masses) falling under gravity (same speed)
2) RigidBodies (shapes and meshes) falling on 2 planes and sliding on them.
3) RigidBodies stacking small objects over big objects.
3) RigidBodies stacking big objects over small objects.
Refactor rigid bodies falling test to include various shapes/meshes and sizes
Clean up
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/RigidBodyRenderTest
Serialize ShapeCollisionRepresentation

Also update the UnitTests which use ShapeCollisionShape
Bug fix in ShapeCollisionRepresentation

After setting the pose of a ShapeCollisionRepresentation, the
SurgSim::Math::Shape it contains needs to be updated as well.
Use mass center in RigidRepresentation Contact and VTC

Use the mass center of rigid representations when build the mlcp problem
and calculating forces in the virtual tool coupler.
Serialize VisualizeContactsBehavior.

- Added getters for collision representation and vector field scale.
- Added test cases.
Add setShape to RigidCollisionRepresentation

Allow setting the shape of the RigidCollisionRepresentation.  The
default is to use the shape of the RigidRepresentation, this allows for
overriding this and setting a different shape.
Move deactivateAndReset in DeformableRepresentation

- Remove method from MassSpringRepresentation and Fem3DRepresentation
- Add proper unit test in DeformableRepresentation
Fix incorrect doxygen comment about templated Matrix type
Add FemElement::update + FemRepresentation::afterUpdate

- FemElement::update will be useful for co-rotational elements which needs to update their rigid transformation based on the final state.
  By default, an element just do nothing and return true.
- FemRepresentation::afterUpdate calls the base class afterUpdate to backup currentState into finalState + updates all FemElement
  If any of them fails to update, the FemRepresentation is deactivated and reset.
Add the Fem3DElement corotational tetrahedron
Add Fem3DCorotational render test
Add Fem3DElement corotational tetrahedron unit test
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/FEMCorotational3D
Fix bug in Runtime constructor that a member data is not initialized.

In constructor Runtime::Runtime(const std::string& configFilePath), if
m_isPaused() is not initialized to 'false', when destructing a object of
runtime immediately after it is constructed, destructor() will call
stop(), which will further call resume(), and error will happen.
Merge remote-tracking branch 'origin/master' into wip/staplingDemo-Stapler-Serialization