Fix stream selection and formatting for files with multiple streams
Get rid of the TimeOffset class

Was annoying to work with and there's datetime.timedelta anyway in case we need it back later
Small refactorings and optimizations

Greatly improve performance of searching for similar events in the end of large scripts by not searching the entire processed collection for every non-matched line
Merge groups of small one-frame events into large events for better searching

Should improve fbf shifting a lot. Currently broken because identical lines mess timing
Add notion of linked events, implement fbf merging
Simplify tests, remove the need for real files
Make fbf merge parameters configurable
Simplify keyframe snapping log output a bit
Always read WAV as unsigned for better matching
Improve implementation of linked events

Don't resolve them manually
Don't use linked events for weighted average and median smoothing
Don't sort lines based on broken attribute

They're filtered on the next line anyway
Rewrite fbf typesetting grouping a bit

Required for large groups detection
Don't merge typesetting lines across chapter borders
Implement larger group linking

When calculating shifts, check if a group is a subset of some other group. If so, link it to the larger group instead of processing separately.
For example, take a character talking for five seconds. During this time, a one-second sign appears. We can link this sign to the character line to get better shift.
Greatly improves fbf typesetting.
Fix chapter-based group splitting

Didn't work properly when there was a chapter without any lines in it