Base progressing to next subtitle based on a timestamp instead of diffs
of previous and current timestamps. This should make "playing subtitles"
timing more robust.
Previous implementation changed to next subtitle when current subtitle
ended. This means that times between subtitles were ignored.
This implementation now checks if the next subtitle's start is later
than the current subtitle's end, and will wait for the duration that is
longer.