Changes:
- cleanups, refactoring mostly in C++ side.
- Added new feature to RotationManipulator:  Rotate along view vector.
- Fixed a bug in computing billboard matrix in Util.cs.
- Render curve control points with fixed size in pixels.
- Fixed minor bug in Manipulator picking.
- Render manipulator with light and correct depth. (No longer need to disable depth test).
- Added few more material properties to basic shapes (cube, cone, cylinder, etc).
- Added Torus to Basic shapes.
- use render state cache for commonly used render states.