Added centralized class for handling keyboard input

Added enum Key, and class KeyHandler to handle input. Now instead of having a method for key pressed in each class, we can simply call handleInput(). The KeyHandler class is static, so any of the keys that you want to check the status of can be done very simply with methods isPressed(Key k) or isDown(Key k).
updated game states to work with the new way of handling input
Created class to handle mouse actions
updated MenuGameState to take mouse input