~jaro/balkon

ref: 9770e95e2ea1dff02a80a310c94a2fa7389114d5 balkon/lib/Data/Text/ParagraphLayout d---------
Expose rect unions in public interface.
Describe box edges with extensible type.
Expose piecewise paragraph construction.
Add ancestor boxes to interface.
Add required textDirection to TextOptions.
Deprecate ParagraphConstruction.
Deprecate the Plain interface.
Add public Rich interface.
Add user data to spans.
Add line numbers to laid out fragments.
Qualify Plain interface.
Future-proof records with options.
Fix style: white space in exports and imports.
Better format ParagraphConstruction documentation.
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.
Make SpanOptions a separate type.
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.