~jaro/balkon

ref: d77ca1f36721e33e0d6ab8839a9ae718aee64b6f balkon/src/Data/Text/ParagraphLayout/Internal d---------
Clarify spanLanguage and add basic ICU conversion.
Remove (~) operator from ParagraphConstruction.

The tilde operator was causing compilation errors with older versions
of GHC, possibly due to a conflict with the lazy pattern match syntax.

It has been replaced by a pure Haskell alternative that uses function
application.
Refactor line breaking.
Allow breaking at character bounds.
Use a single list of line breaking alternatives.
Clarify meaning of Array in Paragraph.
Implement trimming spaces at end of lines.
Remove redundant overflow handling.

This may be useful later when words are allowed to overflow, but this
code path is currently unused.
Decompose ProtoFragment construction.
Add dropWhileEnd to SeparableTextContainer.
Add trivial instances of text containers.
Fix documentation of ProtoFragment after RTL placement.
Implement correct positioning of RTL runs.
Make SpanOptions a separate type.
Slightly decompose the Plain module.
Update documentation and derived instances.
Expose ParagraphConstruction.
Hide Rect union from public interface.

The function behaves in a specific way that should not be relied on by
other modules.
Use internal library to hide non-public modules.
Move non-public modules into Internal namespace.