buildings: for component tiles, link back to the owner tile
buildings: s/compound/building, auto-determine tile range

auto-determine tiles that make up the building by requiring that
the building always be defined on the 2nd row, 2nd column
buildings: define building metadata for special buildings
buildings: allow defining anim tiles as belonging to a building
tiles: annotate industrial zone tiles
tiles: remove old isIndustrialZone() function

Note: this old Industrial Zone checking function would erroneously
include the Coal power plant animated smoke.

You could see this bug by selecting "industrial zones" for the
overlay map, and looking closely where your coal power plants are.
You will see that the coal power plant is invisible in the overlay
except for the four tiles containing the smoke.
tiles: annotate commercial and residential zones
tiles: use new residential-zone/commercial-zone annotations
overlay-map: cleanup: use isResidentialZoneAny() instead of manual check