Added GameObject that handles gravity and update through advanceTime
from IAnimatable.

AnimatedGameObject now inherits from GameObject, no longer directly
implements IAnimatable.  Override GameObject.update instead of
advanceTime.

Removed yVelocity from Player in favor of _velocity in GameObject.
Removed fakeJump logic from Player.
Removed some legacy jump code.
function name changes.
Moved added/removed events to GameObject.
Renamed function to getBG to avoid keyword get conflict.
Tidy up.