client/graph_view: zen_mode zooming and layouting change
client/graph_view: zen_mode zooming and layouting change

on zen mode entry:
- start layout
- automatic centering mode: every tick adjust the scale and translation
  to fit the visible nodes

if user drags or wheels out
  cancel automatic centering mode
  (layout keeps updating regardless)

implementation details: additional state 'zen_mode__auto_center' and
additional handlers for wheel and mousedown. Better to have a single
flow in the future:

{mouse wheel event, mouse down event) -> update zen_mode__auto_center (or have implicit
state via bacon) -> d3 zoom behavior

shlomif/rhizi,Rhizi/rhizi,cben/rhizi,yuvadm/rhizi,Rhizi/rhizi,shlomif/rhizi,ozFri/rhizi,shlomif/rhizi,yuvadm/rhizi,cben/rhizi,Rhizi/rhizi,ozFri/rhizi,ozFri/rhizi,yuvadm/rhizi,shlomif/rhizi,ozFri/rhizi,tlevine/rhizi,tlevine/rhizi,yuvadm/rhizi,cben/rhizi,Rhizi/rhizi,cben/rhizi,tlevine/rhizi,tlevine/rhizi