Separate split list functions into a module.
Convert legacy span directions into levels.
Move BiDi Level to separate module.
Add helper function for run-length encoding.
Generalise text from SpanData for other tests.
Prepare for extending ProtoRun.
Consolidate tree types into one.
Handle ancestor boxes in rich layout.
Add ancestor boxes to interface.
Implement finding box edges.
Use ResolvedBox when flattening trees.
Separate WithSpan for sharing with other modules.
Implement piecewise paragraph construction.
Add public Rich interface.