Refactored into modules + new input handling

Input handling is now using a keymap system, that means users can now
have more than one key pressed simultaneously