Navigation decoupling using events

Have only made this work on TkAgg, will convert for GTK3 later.  In fixing ``ConfigureSubplotsTk``, I have noticed a marked decrease in dialogue reopening time :), I guess the "figure" creation slowed it down.

I have noticed problems with the home/back/forward buttons on testing, though I guess this bug already existed, so I will look into it and fix it with a separate PR later.
I disagree, though not an issue for here after my rebase splitting.

When I put this patch in (a different PR) I shall put it in as private and as and when I have figured out my preferred way of adding tools (on paper it looks almost done), I can make it public again (for you to comment on), if it still feels right.