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

@OceanWolf can you try to make a PR against my branch with this change? 
Please include only this change so I can review it easily. 

Quoting https://github.com/matplotlib/matplotlib/pull/2624#issuecomment-29910022
> @fariza If you have a local copy of my branch, make your changes on the tip and then push your branch to your github repo (just like making changes against master).
> 
> The PR interface in github has issues with large networks. The advice they gave us was to edit the URL by hand to point the PR against the correct repo/branch.