MEP22 Navigation toolbar coexistence

This version of the MEP22 implementation https://github.com/matplotlib/matplotlib/wiki/Mep22#implementation 

The proposed solution is to take the actions out of the `Toolbar` and the shortcuts out of the `Canvas`. This actions and shortcuts will be in the form of `Tools`.

A new class `Navigation` is the bridge between the events from the `Canvas` and `Toolbar` and redirect them to the appropriate `Tool`.

This is a nice idea, what do you think of a `AreaSelectMixin`. 

In terms of inheritance, I am thinking on moving all the `views` and `positions` out of `NavigationBase` and moving it to a `ZoomPanBase`.  These two tools can share the 'data' using a class attribute (WeakKeyDictionary), that uses the figure as key. I just want to clean `NavigationBase`