Added all-character preview box, refactored drawing methods.

Timing and sprite placement is still left in the `frame()` and `allframe()` methods; it's up to them to determine what to do with the returned image.
The new `charSprite()` method returns an ImageData object of the requested character. Defaults to using global vars, but accepts parameters for id, scale, direction, blush, and class/skin.

Modified some local/global scope and canvas draw timing issues.