Implementation of render target class
Pulled in a couple of minor Phantom/Sixense changes.

The reason for pulling them in is to make things merge cleanly in the
commits that follow.  The Phantom change actually introduces a problem
(it should say surgsim_add_library, not add_library), but that will be
fixed shortly.

These came from the feature/3dconnexion-windows branch, in the
following commit:

  commit 41a44faae4dfbdb57291e63adaeb791d6fe583e6
  Author: bert Dvornik <advornik@simquest.com>
  Date:   Wed Aug 7 14:35:50 2013 +0200

      Update existing directories that were not showing folder trees.
Refactor the Phantom device code with the "hidden scaffold" model.

The PhantomDevice is now a stand-alone object created via its
constructor; the PhantomScaffold etc. are not exposed to the user.
Fix (and beef up) the Phantom tests to work with the new code.
Add PhantomVisualTest app.

Maybe this should be called PhantomVisualAndHapticTest?
Update a few minor things in the Sixense device code.
Cleanup

Remove functions regarding stencil
Remove functions to make Rendertarget mutable
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/RenderToTexture
Fix an issue with VS2010
Merge remote-tracking branch 'origin/master' into feature/phantom-scaffold
Fix a problem in device initialization.

Tearing down the haptics loop was failing with an assertion (and the
device wasn't producing output), because the startup wasn't creating
the haptic loop at all, because of a stupid typo in a condition
introduced during refactoring.

Thanks to @hscheirich for trying it, reporting the problem, and
working with me to debug it.
Renumber Phantom buttons as 1..4 (from 0..3).

We agreed we'd use 1-based numbering for numbered buttons as much as
possible around the time of the Sixense implementation.  The visual
test library was (re)written to follow this.  But the original Phantom
implementation was already written and using 0-based numbering.  Thank
you @hscheirich for noticing; fixed now.

Also updated the doc comments to note that the Omni and Desktop
devices have been renamed to "Geomagic Touch" and "Geomagic Touch X",
respectively.
Add a new TetrahedronMesh data structure (similar to TriangleMesh) + Unit Test

This will be useful to load/save and pass around 3D volume tetrahedral structure for FEM3D and MassSpring model.
Each Tet could contains physical parameters such as the mass, young modulus, poisson ratio...
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/TetrahedronMesh

Conflicts:
	SurgSim/DataStructures/UnitTests/MockObjects.h
Fix broken compilation with Mesh renaming + cpplint + linux warning + disable test printout + missing copyright in DeformableRepresentation.cpp
(Incomplete) Link input device to sphere with VTC in example app
Merge branch 'master' into feature/InputDevice-Vtc

Conflicts:
	Examples/BouncingBalls/ExampleBouncingBalls.cpp
Replaced "createConsoleLogger()" with "getLogger()"
1
Merge branch 'fix/device-builds-etc' into feature/phantom-scaffold

Conflicts:
	SurgSim/Devices/Phantom/PhantomManager.cpp