Create RenderTest to load truth cube data and display them for all strains.
Revise RenderTest for Truth Cube.

1. Add origial uniaxial_positions.csv dataset for the test.
2. Use ApplicationData to load data file.
3. Rename the render test to TruthCubeRenderTest.
Revise TruthCubeRenderTest.

+ Add common RenderTest class to SetUp() and TearDown() rendering environment.
+ Inherite TruthCubeRenderTest from RenderTest and update the code.
+ Add doInitialize() runTest() to loading and run truth cube render test
Revise and clean up truth cube render test.

+ Using #include "..." format for the code.
+ Moving ParseTruthCubeData into TruthCubeRenderTest struct.
+ Remove extra namespace of math vector3d.
Fix typo in FemElement3DTetrahedron ("stiffness" instead of "mass")
Delete comments on TruthCube dataset in RenderTest.
Add Accessible to Uniform [fails compile]
Test Accessibility in Uniforms
Correct function name of parseTruthCubeData using lower case for 1st character.
Make ViewElement onws a Keyboard Device

ViewElement class now has a shared KeyboardDevice object.

OsgViewElement could decide whether or not to use KeyboardDeivce.
Merge remote-tracking branch 'origin/master'
Clean up headers, add dynamic libs in CMake file
Fix typo in MouseDevice CMakeList
Change signature of ViewElement::getKeyboardDevice, make it pure virtual

Make method "getKeyboardDevice()" return a shared pointer to
CommonDevice instead of KeyboardDevice.
Also, make this method pure virtual.

Fix ViewElementTests and ManagerTests since they used to use ViewElement
(which is now pure virtual).

Let OsgViewElement uses keyboard device by overriding
ViewElement::getKeyboardDevice().
Merge remote-tracking branch 'origin/master' into wip/ViewElement-Keyboard

Conflicts:
	SurgSim/Graphics/OsgViewElement.cpp
	SurgSim/Graphics/OsgViewElement.h
	SurgSim/Graphics/UnitTests/ManagerTests.cpp
	SurgSim/Graphics/UnitTests/ViewElementTests.cpp
Roll back files covered by mering Master
Make OsgViewElement owns a shared Mouse Device

ViewElement class defines the interface to return a Input::CommonDevice

OsgViewElement decides whether or not to use the owned MouseDeivce.
Add getComplianceMatrix function to expose odeSolver's compliance matrix.
Implementation of Contact and Localization classes for MassSpringRepresentation.

The Contact class enforces the non-penetration constraint, and the Localization class enables tracking a MassSpring's node in global coordinates.
Add range check on FemElement3DTet nodeId in ctor