e55ce05880
The Backend trait plus everything the backends (#191-#193) share, so no backend can skip it: chunking into character-budgeted batches, rejection of replies whose cue count or numbering drifted, and reassembly onto the original timings. Timing data never leaves arr; pt-PT and pt-BR are distinct targets a backend must refuse rather than conflate.