Added sprite rendering, game is Sokoban-complete

- Renderer now draws cells and sprites, and rotates them
- Sprites and cells now have a unified "rotate" property, and sprites
have a "tile-rotates" flag to decide whether the tile rotates with it
- Fixed floating-point errors in sprite movement
- Removed checks from start_move(). Player movement function now calls
it rather than replaces it
- Screens run until they return a value
Moved unit tests into appropriate subpackages