Huge performance improvements

It's much smoother to retain a certain resolution within the view limits.  This
means that refinement is not done adaptively, and the resolution is fixed.

Next step is to try to keep the number of points with which to partition
the domain fixed, and move the points around to areas that need it.