Refactor some movement handling code
Make gameplay use new input class too: can now use WASD as alternative to arrows