text: Title: Improved handling of navigator in non-lazy signals
  Body: With the improved handling of navigator generation for lazy signals in https://github.com/hyperspy/hyperspy/pull/2631, it would be nice to extend parts of this to non-lazy signals as well.
  
  Currently, when `s.plot()` is used for non-lazy signals, the navigator signal is discarded after the plot is closed.
  
  For very large datasets, the creation of the navigator signal can take a couple of seconds. So it would be nice if the navigator signal for non-lazy signals was stored, similarly as non-lazy signals.