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

Do we need so many arguments to this function?  Could we not simplify this to:
```python
def _add_toolitem(self, name, tool, position=-1):
```
where name and position give the same as above (where I use a -1 to indicate the end); the other arguments simply appear in tool, all nice and encapsulated.