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.
Add expected run lengths to test data.
Deduplicate emptyFont in RunSpec.
Generalise text from SpanData for other tests.
Add Arabic examples to spanToRuns tests.
Fix style: white space in exports and imports.
Reduce test dependencies on fonts.
Move non-public modules into Internal namespace.
Minimise working with Data.Text.Internal.
Link to Span using a generic wrapper.
Implement "plain" interface.
Separate tests by module.