~jaro/balkon

ref: 5b76807e4e2a0b711b110d25719acdd3fea043a4 balkon/test/Data/Text/ParagraphLayout d---------
Internally allow splitting texts at endpoints.

This is required in order to preserve a hard line break at the end of
the input.
Test handling of empty lines.
Test mixed line height.
Test ultra narrow Arabic text.
Test unions of lists of rectangles.
Parametrise rectangle union bias.
Test shaping across intra-word breaks.
Simplify code since run direction is always known.
Improve BiDi handling of numbers and neutrals.
Test with only directionally neutral characters.
Test mirrored neutral characters.
Add shaped runs output for bidirectional text.
Add tests for mixed text direction.
Test spanToRuns independently for scripts/directions.
Integrate BiDi levels with spanToRuns algorithm.

Span/box boundaries no longer reset directionality.

BREAKING: Text with no strongly directional characters would
previously be treated as having no direction. It will now be
treated as having the direction defined in TextOptions.
This affects calculated positions.
Convert legacy span directions into levels.
Move BiDi Level to separate module.
Add expected run lengths to test data.
Add more sample texts.
Add helper function for run-length encoding.
Next