Added a mouselistener to ScrollableView for panning

* Panning implemented via mouselistener
* Moved computations concerning range / offset values for the viewport
  to a utility class named ViewportMath