Implement piecewise paragraph construction.
Refactor pagination to allow rich layout.
Convert plain layout to a wrapper over rich layout.
Deprecate ParagraphConstruction.
Deprecate the Plain interface.
Add public Rich interface.
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.
Use line numbers for page breaks.
Add line numbers to laid out fragments.
Future-proof records with options.
Mention changed font size in changelog.
Update formatting in golden files.
All golden files are regenerated to use the new formatting.
This only affects whitespace (including newlines), otherwise the golden
values are perfectly equal. You can check this using the command:
`git show --word-diff-regex='[^[:space:]]'`