Implement free zoom support.

Following flow is supported: click on graph to start, use mouse wheel to zoom in/out,
double click to reset zoom.
Add panning support.

To start panning you can drag graph with a mouse.