gui canvas: fix typo

Fixes broken display for SPARC alignment.
gui view: make track mpp <-> HFW also work for the SPARC

The SPARC might be also be using the automatic HFW, so move the code to support
that to the MicroscopeViewport (from SecomViewport).

Also fixes the change of HFW of all the views when changing SEM FoV.
gui view: generalise track_view_hfw to work with any VA

for now there is only ebeam.HorizontalFoV, but at least it avoids hardcoding it
everywhere.
gui viewport: rename .legend to .bottom_legend and .left_legend

Avoid having sometimes .legend a list of wxObject and sometimes a wxObject.

At least it avoids making pylint crazy, and hopefully, will simplify reading the code.
gui viewport: fix spectrum plot not updating

It used to rely on should_update VA to detect a new stream is present.
This VA was not made for that, and since we don't autoplay (static) streams anymore,
it got broken.

Instead, fix it by using some slighly closer to the meaning (but still not really correct),
which is to listen to view.lastUpdate, which is updated once everytime a new static stream
is added.
gui overlay: fix SPARC selection overlay display

the cairo context is saved between calls, which caused all the lines to be
drawn with dashes.

Now save and restore the context.

Also increase the thickness of the background dark rectangle, to make the rectangle really visible.