Remove down-facing, ground-level faces from buildings

Mostly, I wanted this because I'm experimenting with something that would allow the user to go below a city, and I wanted to avoid z-fighting between the bottoms of the buildings and the ground plane.

It happens that this also has the effect of removing unnecessary faces that would never be visible anyway. Cursory experiments show about a 17% decrease in total byte size of geometry buffers. In midtown Manhattan, total buffer size dropped from about 23MB (for all loaded tiles) to about 19MB.

I added the `preserveGroundFaces` option to `BlueprintOutputBuildingTiles` in case you want to keep those faces for some reason.

**Note**: This is based on my [buildings-min-height](https://github.com/brianchirls/vizicities/tree/buildings-min-height) branch, so #101 should be merged *first*.