Cease storing location on Entity; fix spawn_random()

The World used to keep an Entity's location on the Entity itself, for
convenience. Now it doesn't. This is less efficient but also less
complicated.

spawn_random() used to crash if there were no available locations. Now
it doesn't.
Simplify image handling for Entities
Merge branch 'kalgynirae/misc-cleanup'