remove useless parameter from SpriteSheet::addSprite
add support for sprite sheet to render at arbitrary locations
add animation frame caching using SpriteSheet class

This off-screen buffering is allowing us to reduce CPU time
drastically from 65% of CPU time spent rendering animations to
3% of CPU time spent rendering animations. In addition, 95% of the
total CPU time is now spent idle, up from 34%.