308 add zoom and move to graphs

Shall fix #308 and #256 by providing zoom and move capabilities for the graph view.
Also includes some refactorings and general optimizations.
Metrics/MethodLength: Method has too many lines. [13/10]