Added basic joystick support

So far it only works in the menu. The key queue in the game screen is a
little complicated so I think we will allow only joystick or keyboard
but not both.

Works with an Xbox 360 controller, haven't tested with others yet.
Started support for Rescue Rover levels

- Added the Rover level type
- Added exit and water cells
- Added robot, Rover, door and key sprites
- Added Rescue Rover level 2

Also added the first custom tile rendering functions.

Fixed the tiled map reader to take unsigned ints instead of signed; this
fixed problems with rotation.

Robot movement works but not much else in this level.
Added sinking crates, some cell utility functions

Crates now sink into water and travel with flowing water

Added the is_bridge attribute to sprites, so player can walk over water.

Added level.get_cell_type() and sprite.get_cell() and
sprite.get_cell_type()