Introduced an abstract superclass for pan/zoom controls to consolidate
common functionality between the two. Implemented zoom controls, and
re-implemented pan controls.