add WASD support for movement, fix key events to only trigger on canvas element