Some image and save structure changes

GimbalImages are not necessarily savable. Saving image data and
recreating the image is now the job of whatever owns it.

LightweightImage and LightweightAnimation have been renamed to Sprite
and AnimatedSprite since that is closer to their actual use.

Entities don't store the world bounds, because the bounds don't matter
to them and I don't want to give Entities the potential ability to
change the world bounds. That would not end well. Entities also don't
all have a world variable. Game.world is static now, so there is a
getWorld() method inherited by all Entities. Player still has a world
variable for convenience but that may also get tossed in the future. It
would be annoying if for whatever reason Player got moved to another
world but it didn't know.

The load method now includes the version number as a parameter. It isn't
used for anything yet and maybe in the future I will get rid of it but
it could be used for save file repair or something in the future.

Mob now writes the animation data instead of player. I figure all mobs
are going to be animated.