Make it easier to observe attr. of all entities.

In some cases we want to observe attribute changes to all entities.
Having to attach observers to each and every entity is inefficient;
instead we'll go through a global class.
Allow "terrain" to be placed on any entity.

Previously we only allowed it to be placed on the top entity.
This alteration also uses the new method for observing changes to
certain attributes on all entities, without having to place observers on
them all.
Refactor terrain area.

We're now handling it better and more robust, with less memory use.
Use more efficient map variant.
Remove unused code.