Better handling of nested format data within formatter

Formatting has been slightly rewritten and works fine with source2 data.
There are still problems when words are repeated inside the text, but
not inside the tag itself. The trigger matches, so string position
indexing will be introduced into the parser to determine at which
position the trigger should start triggering. Same goes with equal
triggers at the beginning and end inside a tag, the formatter doenst yet
differentiate between there indexes, but this has already been
implemented in the parser trigger data.

Some weirdness with line heights still going on, meaning that a line
without any required extra spacing is still beeing layed out like there
are bigger fonts inside.