Refactor Input Handling (again) and Add FlyCam camera type

InputHandler now passes the TouchEvent to registered classes. For Desktop, MouseEvents are converted into TouchEvents for debugging on Desktop.
Classes can consume events to block other classes from getting them

Added FlyCam type camera.  Camera Mode is set via CameraHandler.setCameraMode before calling init().
Camera Rotation is done with simple touch+drag.  Camera Pan (FlyCam mode only) is done by doing a TAP and then a Touch+Drag.  Camera Rotation and Character Motion are available simultaneously using multi-touch.