Adding button titles to indicate keybindings
Added a dirty to check for calculating component coords to reduce calculation.
Removed defaultZoom to make the logic simpler.
Removed the end point connector plugin and circle.
Added Connector.refresh() to recalculate connector end points and re-render.
Added zoomTo() to programmatically set zoom level.
Added an example code for matrix transformation for SVG coordinate spaces.
Major refactor to code to make it more extensible and oo.
Fixed scale annoying impossible to fix bug:
- When you zoomed or panned the canvas the connectors would dislocate by a minute amount depending on how much you zoom and pan.
- This was fixed by changing the way
        x = ((x - translate[0]) / scale) - svgDim.left;
  to
        x = ((x - translate[0] - svgDim.left) / scale);
  if that makes any sense to you.
Removed multiple editors from test page.
Decided to keep keybinding and toolbar logic outside Mohini and let it be from other event handlers to keep Mohini user interaction free.
Added events to test page.
Removed .scaled attributes since it is now unused.
Moved the logic of moving a component's location into a separate method which can be now called from drag, etc.
Cleaned up component initialization code.
Added component/connector remove() methods.
New method Mohini.getMidCoords() gets the mid point of the Mohini viewport.