Although the overall logic of this function is finished, I still need to
write the callbacks for RegionPager's onNew and onDelete.
I've also tested this using a hand written save/index file. I've written
up a map file format by hand, and I'll be implementing it over the next
few commits.
I've added more members to the Tile structure, namely the width & height
of the tile. This is to fix a circular logic problem, which is too
abstract for this commit message ;)
I've also moved the local/static/inline/etc. utility functions to their
own module in the common directory, because this is just cleaner that
redefining the same code a dozen times.
The map's logic is still the same, but I need to keep moving; I've been
procrastinating far too much.