Fixed InputManager and added new example project

Resolved issues with InputManager:
- Full joystick support. All joystick actions now behave correctly.
- Separated joystick and mouse output events. Now the joystick and mouse
can be handled separately by the game itself.

Added an example game project.
- Example project demonstrates using mouse/keyboard and
joystick/controller support.
- Demonstrates current workflow and design.

There are still some updates until we reach something that can be easily
used by everyone:
- Refactor mouse and joystick sensitivity to the InputManager.
- Provide a fixed axis update so that mouse and joystick events do not
use separate game logic.
- Provide joystick readings for joystick actions so that joystick
actions mapped as button presses can still retain their sensitivity.