Factor out control panel code.
Much more refactoring and simplification.
Simplify ControlPanel interface.
Generalize parsed fields.
Improve type signatures of our observables.
Add UI for tweaking the rasterization rules.
Prevent excessive redrawing.

The way I was chaining `flatMap`s was causing lots of extra
subscriptions to hang around, which was leading to *way* too many draw
events. My `flatMap` is still broken, and it would be nice to fix it,
but it needs some work to figure out all the proper accounting.