Added key-based movement for the client

fixes #9