Added Keyboard Input

Created a new input listener for the keyboard, and changed the input
format to a global multiplexer, so that I can add and remove multiple
listeners from that at will. It was easier than I expected.