Convert legacy span directions into levels.
Move BiDi Level to separate module.
Add expected run lengths to test data.
Deduplicate emptyFont in RunSpec.
Generalise text from SpanData for other tests.
Add Arabic examples to spanToRuns tests.
Consolidate tree types into one.
Implement finding box edges.
Add required textDirection to TextOptions.
Use ResolvedBox when flattening trees.
Implement BiDi resolved level reordering.
Fix style: unnecessary do notation.
Fix style: white space in lambdas.
Fix style: white space around operators.
Fix style: white space in multi-line lists.
Fix style: white space in exports and imports.
Fix style: bullet points in comments.
Mark some lists as explicitly non-empty.