Refactored UserInput and GameInput into Model

Cleaned up code and hopefully made it easier to extend from here