Fix typo in FemElement3DTetrahedron ("stiffness" instead of "mass")
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
Missing 'override' keyword for FemElement3DTet::addMatVec
Add FemElement3DCube + UnitTest + upgrade ExampleFem3D

This Fem element uses a Gauss-Legendre quadrature to numerically evaluate integral terms with a discrete sum.
This math tool has been added to the Math library, but do not have any UnitTest because it is only a set of paired data <parametric coordinate, weight>.
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/femElement3dCube

Conflicts:
	Examples/Fem3D/ExampleFem3D.cpp
MassSpringRepresentation dof depends on #nodes
Fix inheritance check

Dynamic cast traverses the type hierarchy to check if a class derives from another class; typeid simply compares the current type.
Fix contact implementation
Implement MassSpringRepresentationContactTest
Implement test for MassSpringRepresentationLocalization