~jaro/balkon

ref: a9702991100ef8fc485ec47aed3d854c45e19dac balkon/src d---------
Convert plain layout to a wrapper over rich layout.
Add basic support for Rich layout.
Embed TextOptions in ResolvedSpan.

SpanOptions are relegated to the legacy Plain interface, and
TextOptions are now being used internally.
Define tree for structuring paragraph content.
Define BoxOptions and TextOptions for formatting.

Differentiating the two record types reflects the fact that the root
inline box cannot be styled but its text contents can.
Separate interface-independent layout algorithm.
Separate interface-independent constants.
Add user data to spans.
Use line numbers for page breaks.
Add line numbers to laid out fragments.
Future-proof records with options.
Fix compatibility with base < 4.15.
Improve terminology around fragments.
Fix documentation: missing Paginable.
Fix documentation: missing SpanOptions.
Fix documentation: document remaining names.
Fix documentation: export dependencies of exported names.
Fix documentation: incorrect reference.
Fix documentation: references to non-imported names.
Fix documentation: references to local names.
Next