Restructured level types

Moved level types into a subpackage, like cells and sprites.

Level file objects are now passed directly to the level class.

In Pygame, level files are not instantiated until the game screen.
Moved cell and sprite base classes into the main package

This is consistent with how levels are set up.
Implemented Chip's Challenge

- Added ChipsChallenge level type, with success/fail tests
- Added Chip and ChipDoor sprites
- Added a level

Also removed the animation argument from the Level class, and now pull
it directly from config. Fixed the LED frontend to work with this.