Add free look camera
Add mouse get/set position
Whitespace cleanup
Add a destructor
Add a different main for debug mode
Add a cursor visibility method
Refactor camera handling into CameraController
Add different mainfunc target for console debugging