Moves the keyboard listening logic into an InputListener object. Adds ServerCommands that we can configure with keybindings