~jaro/balkon

ref: 2fea437c601cce8ab25715c2c6a6a57748582031 balkon/test d---------
Add content rect to Fragment.
Add helper function to strut empty boxes.
Test preservation of lines with boxes.
Test boxes with no text or only a space.
Allow trimmed whitespace to generate empty fragments.

BREAKING: Output may now contain more fragments with zero glyphs,
representing runs of whitespace that was trimmed away. These runs may
also start a box at the end of a line, instead of the beginning of the
next line.

BREAKING: Trimmed whitespace now affects line height.
Test paragraphSafeWidth on LTR paragraphs.
Allow generating an empty run.
Store default level in BiDiLevels.

This will be required for handling empty text sequences.
Test with AlignStart by default.
Test centred paragraph.
Test right-aligned paragraph.
Internally mark hard line breaks.
Internally allow splitting texts at endpoints.

This is required in order to preserve a hard line break at the end of
the input.
Test handling of empty lines.
Test mixed line height.
Test ultra narrow Arabic text.
Test unions of lists of rectangles.
Parametrise rectangle union bias.
Test shaping across intra-word breaks.
Simplify code since run direction is always known.
Next