Tweak constants for word detection (reduce chance of merging lines)
Fix finding duplicate words

`regions` may be non-rectangular, but there is no support for this outside `mergeBoxes`. However, simply extending them to their bounding box may lead to overlapping and thus duplicate words read by Tesseract.

As a fix, merge overlapping regions again before leaving `detectCandidates`; this effectively means we delegate the layout decision back to Tesseract.

An alternative would be to support non-rectangular regions properly, i.e. constructing the text image by blitting a number of rectangles. This is currently considered not worth the effort.
Disable or enable Tesseract's line detection selectively

This greatly improves results when there is a hair split running through the text, but assumes relevant form text is at least 10pt.
Checkboxes: If nothing is found around content position, try again without the offset

This mitigates some cases where the content offset is just wrong.
Fix handling of duplicate anchors
Select anchor by manhattan distance
Break lines by word bottom

Fixes wrong linebreaks when Tesseract creates an extra word for a '.', which differs in x because it is not as tall
Fix detection of false empty contents

.connectedComponents contains an implicit .threshold(128) for grayscale images. This is way too low and eliminates the gray ink traces we're looking for.