Environmental collision detection simplified

Instead of checking rectangle collisions with the player and the
surrounding environment, the two applicable corners of the player's
collision rectangle are checked against the level grid for solid tiles
(e.g. when jumping the top corners are checked.)