Rework book formatter (Fixes #1148)

Tested on quite a few books with positive results. Replicates the vanilla layouts as closely as possible, fixing a lot of bugs in the current formatter. The only minor problem would be that texts in vanilla are slightly shorter, causing that the word wrapping does not always match, which may or may not be a scaling bug in vanilla MW.

Next thing is that when an editbox is split, all empty lines at the beginning of the next page should be removed. While I have implemented that, it requires the latest, not yet released, version of mygui which adds the EditText::getLineInfo method.
Yes, it will try to push itself to the next page infinitely. I'm not sure how to deal with this, perhaps fall back to the default pageSplit implementation (cut perfectly, that is)?