data set to split into windows, using the timestamp of TimedElement as time
Note: windows are generated until covering the last element. That means that empty windows at the end
are ignored. We are not supporting a lastWindowEndTime parameter because that cannot be computed
from a TSeq[A]
without knowing the windowing criteria, as conceptually a window can extend beyond
the timestamp of it's latest element