Implement primitive zooming.
Fix dragging roots.
Group the boundary variables together in an object.
Allow restoring previous zoom state.
Disable undo button if no previous states.
Add fancy cursors.
Set the zoom path to a sensible value after zooming.
Preserve aspect ratio while zooming. Ctrl to bypass.