Added left and right movement, in the most complex way possible.

We need to refactor out the collision stuff from the player, and
also weed through the various movement hacks and actually decide
what is useful and what is not.