Redoes the Player finite state machine. We manage to encapsulate all 3 states (idle, moving-left, moving-right) with one function.
Also abstracts the KeyUp and KeyDown classes so that the Player doesn't have to care about keycodes and that whole mess.