Navigation decoupling using events

Have only made this work on TkAgg, will convert for GTK3 later.  In fixing ``ConfigureSubplotsTk``, I have noticed a marked increase 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.