Add main method to make running from command line easier.
Minor reformatting.
Rename the "Boundary" class to "Ground".
Various refactorings and improvements to player control.
The player is now controlled by applying impulses instead of simply setting the
velocity, which allows the player to interact better with the rest of the
physics simulation and have smooth acceleration and deceleration.