Improved SpriteSheet class

An improved SpriteSheet class that lets you use the sprites through
rectangles (rects() method), or blit the sprites to individual Surfaces
(surfaces() method).

The sprite_viewer example has been updated to the new SpriteSheet class.