Navigation by events

This is an slightly different alternative to PR https://github.com/matplotlib/matplotlib/pull/2759 for MEP22 where Navigation implements some events to communicate with the clients (Toolbar, etc...), this allows to have multiple entry points for interacting with Tools