Add player controls

Added basic movement for the player. This needs to talk to a websocket
eventually. Also added a boot state as well because of `best practices`
and to handle configurations later.