Merge with AxisDataTransform
Merge branch 'tmp/merge' into topic/AxisDataTransform
Complete rework of the zooming mechanisms

- zooming is now based on the PickFn type
- a feature of using the PickFn type is the removal of the global constants that defined the offsets to the actual plot. This is now a burden of the type being rendered and the functionality should be balled into the PickFn
- 'panning' and 'zooming' are now more abstract, and dont actually need to be panning or zooming actions. Its now more like 'selecting' and 'dragging' where you could envision implementing things such as a reordering of columns or something like that as opposed to dragging the canvas.
- only `Layout` is currently implemented