Can no longer move player outside of playable area when using gamepad controls.
Major rework of input handling.  Restructured 'handle_player_input' method and added an 'Input' class.  Combined input handling from gamepad and keyboard sources.
Typo fixes.