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`.

I just want to chime in (not having followed this thread super closely) that I think it is important to separate the building of the windows (currently done via the `manager*` functions) and `pyplot` which at it's core is a dictionary of currently open figures.  Currently, these two things are mixed up, but they should not be (this is the point of #2624 which I should revive work on once we get 1.4.0 released (so close)).