~jaro/balkon

ref: 0e108aa71ac0cce0b8d819a0528dba4be37c9bf6 balkon/src/Data/Text/ParagraphLayout/Internal/Plain d---------
Prevent empty shaped runs.

This is in preparation for a breaking change that introduces some
empty fragments into the output. Since the shaped runs output is not
concerned with runs of zero glyphs, these will be proactively removed.
Refactor lineNumbers into a common module.
Refactor pagination to allow rich layout.
Separate interface-independent constants.
Add user data to spans.
Separate internal plain Paragraph/ParagraphLayout.