Refactored sprite movement to be more readable/maintainable.
Also added SpriteRunningMode, which will represent the mode the Sprite
is in (on a wall, on the ground etc).
Buggy implementation of 'wall' sensors.
Sonic will now collide with walls that are on his left. Although he'll
be too far away...
Added new boolean attribute to Tile to specify if the tile should be
able to be jumped through from below. In this case, the wall sensors
will be ignored. This will be necessary for the implementation of
ceiling sensors.