Move non-Swing-specific logic out of Swing layer

Specifically, the AbstractImageDisplayViewer's getZoomScaleOption()
method does not need to be abstract, but rather can provide a default
implementation using the OptionsService.