Pause/Resume BasicThread's doUpdate calls.

This feature is useful for debugging and giving time for people to move the camera around before an event occurs for example...
Templatize TriangleMeshPlyReaderDelegate

This enables reading of Base and other meshes with standard parameters
Clean up convenience loader function
Refactor Graphics::MeshPlyreaderDelegate to reuse TriangleMeshPlyReaderDelegate
Move utlitiy functions into separate files
correct handling of templates on linux
Move convenience function into separate file
API pause/resume/isPaused. isRunning() -> true if thread running and not paused

+ update the unit test
Rename Pause/Resume by setIdle/isIdle, isRunning relies only on m_isRunning
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/pauseResumeThread
Merge branch 'feature/IdleThread' into 'master'

Idle thread

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1020234
Review Changes
Merge branch 'feature/refactor-mesh-loading' into 'master'

Refactor Mesh Loading

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1018514
Refactor mesh local coordinate verification into a separate function.
Merge branch 'master' into fix/staple-localization-delayed-constraint-creation
Remove FemRepresentationCoordinate and use IndexedLocalCoordinate instead.