Add more navigation controls to the visualizer.

Allow zooming and panning, but keep the center of rotation at the center
of the model. Some standardish controls implemented: mouse wheel zooms
in-out, middle mouse button pans, shift + mouse movement pans, ctrl-+
and ctrl-- zoom in and out. ctrl-0 returns to 0 zoom. Esc returns to 0
zoom and default rotation.
Flush buffers on soft reset.

Have soft reset flush buffers to clear pending commands, and free
controller up for new jobs.