Intermediate commit.

Coloring the tree is starting to shape up (although I haven't tried multiple colors yet), but drawing contours on the map is still tricky because of the way they implemented the contour-updating code. But I think that my dict-based approach should still pan out. We'll have to think a little more carefully about this shit.