Camera:
- state machine
- idle state, camera rotates around the player
- when player moves camera (mouse/right gamepad thumbstick) camera interpolates to the position before idle state
- when player moves character (wasd/left gamepad thumbstick) camera unlocks where it is
- added a few math function to player
- adjusted camera initial position
- camera zooms out when player moves (based on speed)