acq stream: Fix computation of 0d spectrum out of range

1 off error with points near the far edges of the data.
acq stream: rename .width to .selectionWidth

.width is too generic for streams in general.

Also ensure that the spectra are updated when the value changes.
gui comp: Make UnitIntegerSlider work not too badly

When moving the slider, the value should stay an integer.

That seems to solves the main problem with UnitIntegerSlider, but there might be more paths that lead
to .current_value not being an int...
gui comp: Add widget for changing .selectionWidth of a SpectrumStream

Just map it directly to a UnitIntegerSlider.
gui canvas: fix crash when updating data of plot canvas

It's authorised to call set_data() in a separate thread.
So make sure that all the calls to the GUI are protected with call_after().

There seems to still have problems...
gui canvas: small simplification the PlotCanvas

no need to check twice that the data is ordered.
gui legend: rename .clear() to .redraw()

that function forces to redraw the image, so let's not call it clear(), because it's too confusing.

Also move the call to that function explicitely to only the ViewPorts which have an AxisLegend.
gui overlay: make sure the redraw of the canvas is in the main GUI thread

It would crash the GUI if the selected pixel/line was changed not from the main thread.
Merge branch 'master' of vpn.delmic.com:odemis