Removed the notion of Sprite Sheets vs single frame images

Instead of making a distinction between single frame images and Sprite
Sheets, I added a FrameData with one Frame to every image that
gets loaded. This way, some engine code & lots of game code can be simplified.

For instance, you can play animations on any Sprite without having to
check the “frame count” of its image anymore.

The engine doesn’t have to check for non-existing .frameData anymore.

An animation can keep on playing when an image happens to be set with 1
frame, continuing its animation and when after that another image is set
with multiple frames, it shows that animation.

Think of it this way: an image with one frame is an animation of just
one frame.