Three issues that were fixed by this:
1) The SignalBase did notify PDs when its conversion changed
and new sample data was generated but this was dismissed as
the samples_cleared() signal was never fired nor used by the
PD stack.
2) The decode_finished() signal was added so that the decode
trace can immediately paint the trace once the PD is done.
Before, a repaint was only triggered when annotations came in,
resulting in a noticeable "unresolved period" visible if the
last stretch of signal didn't contain any annotations as the
trace wasn't repainted quickly enough.
3) The decode trace indirectly looks at the signal's
samples_decoded_ member when drawing the "unresolved period"
bar. Hence we should update this member before triggering the
repaint via new_annotations().