Sprite animation enhancements

This (rather beefy) change aims to implement the features listed [here](https://groups.google.com/forum/?fromgroups=#!topic/craftyjs/spfDtDN0M60). New capabilities include:

1. Pausing an animation.
2. Resuming an animation.
3. Playing an animation from a specific frame.
4. Getting more information on each frame change (name of animation + new frame).

Includes documentation, tests, and even a small "playground" area on the test page.

I'm pretty sure some of these changes are breaking. While I tried to avoid this as much as possible, I cared more for writing code that was good and made sense. You are welcome to disagree.