Refactor the input key mess into a state machine. Aiming mode and movement mode are now two different states which are handled in separate classes. Keyboard input is routed to the current active state.
Dead zombies no longer block the player.