Disallow overlapping buildings

This took much longer than it should have. But now you can specify a
building base mask image that I will parse and create a "footprint"
element on the BuildingData.

It's all more complicated than it probably needs to be, but it looks
like it's working so far.