Updated Keyboard Input

Now keeping track of what keys are down and have been pressed, and using
that to recalculate velocity each frame.