Fix for handling bare annotations

I changed the way SpanGroup deals with annotations - rather than collecting them from
the set of data points that passed the filter, the set of annotations is built up front.
This allows us to handle Spans with no data ponts but an annotation.