Added a separate SpriteSheet class

Now we can change spritesheets for each separate window on the fly.
Also some refining and fixing up.
Miscellaneous notes