Scriptable camera

* add support for scriptable camera support to JS
* JS support to set camera mode: first person, third person, mirror, and independent (third person that doesn't follow) 
* JS support to set position and orientation of independent camera
* tweaks to application to handle possible camera changes from JS
* added ability to disable joystick control from a script (so a script can remap the joysticks)
* example of script that uses hydras to move an independent camera
* cleaned up Camera.cpp/Camera.h to match coding standard

closes #1911