DecodeSignal: Add and use inclusive/exclusive sample count variant
This is needed because the annotation cache must be operating on the
number of decoded samples WITHOUT the ones being currently processed,
otherwise it'll refuse to refresh the cache, even if more annotations
arrive - it uses the sample count to determine the cache state.
However, the bar showing the undecoded area must operate on the number
of samples WITH the ones being currently processed so that annotations
aren't overlapping with it.
Adding the parameter to DecodeSignal::get_decoded_sample_count() allows
for both.
This relates to
e06cf18db72.