Remove unused or redundant code & class members
Implement TeX style line break algorithm

Currently stretch only
The class tile in the Line.h file was getting to big and class line is due do grow
Refactor to create tile objects and fill them after rather than during tile generation
Fix Fallback assigning to strong a penalty to whitespace
Fix uninitialised memory
Stop when exhausting the analysed text
Once we go into shrink ensure the fallback becomes the best break if we would've used it fro stretch
Handle trailing whitespace correctly during break

For trailing whitespace we need to avoid updateing advance but then need to update if the advance with the whitespace advance if we encounter a non-whitespace character.
Fix not applying shrink for last line of ragged-last-line justification
Fix not clean line span leading to overfill of line on retry
Fix bad ragged justification break and keep syllabl break support
Implement drop caps
Fix justification should apply to drop caps data
Make first line indent apply for all drop caps affected lines
Switch drop cap line offset metric from cap height to ascent

Whilst InD aligns the top of capitals this is a very latin script specifc metric and it causes some non-latin scripts to render drop caps with lots of over strike. Ascent is a better metric as it works almost as well as cap height for roman text and much better for non-roman text
Fix incorrect whitespace trimming for drop caps tile
Fix compose_line & rebuild_line using slightly different line metrics.
Improve breaking