refactored drawing methods, created single sprite drawing function

Timing and sprite placement is still left in frame() and allframe()
The new charSprite() method returns an ImageData object of a character
Modified some local/global scope issues