Add basic support for Rich layout.
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.
Qualify Plain ParagraphData.
Prepare for test modules sharing Golden definitions.
Rename golden files for easier tracking.
Prepare for test modules sharing PrettyShow.
Do not expose modules unnecessarily.
Make sure cabal.project is included in distribution.
Separate internal plain Paragraph/ParagraphLayout.
Implement BiDi resolved level reordering.
Fix data types in harfbuzz-pure.
Prepare pagination for future layout types.