~jaro/balkon

Allow generating an empty run.
Add extensible filter for invisible lines.
Store default level in BiDiLevels.

This will be required for handling empty text sequences.
Prepare for vertical-align in BoxOptions.
Implement calculation of safe paragraph width.
Refactor lineNumbers into a common module.
Update changelog on paragraph alignment options.
Test with AlignStart by default.
Test centred paragraph.
Allow paragraphRect without point 0,0.
Test right-aligned paragraph.
Add start/end paragraph alignment.

In the future, when the paragraph direction is not explicitly set,
start/end options will allow alignment to change line by line,
whereas left/right alignment will be constant.
Add centre/right paragraph alignment.
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.
Internally support text breaks in ascending order.

Intended as a workaround to `breaksRight` not including the status of
the end-of-text break.
Separate split list functions into a module.
Fix terminology for box layout bounds.
Test handling of empty lines.
Make RTL text overflow the left paragraph edge.

This behaviour is consistent with CSS Text Module Level 3.

BREAKING: Previously, all text would overflow the right paragraph edge,
regardless of text direction.
Next