Clean up and Extension

Added new SpriteImage class for single frame images that need to be
blitted - particularly those that need repeating and can't be atlased.
Light clean up throughout to make the API cleaner and easier to use.