Make text decorations be independent display items.

The goal it to avoid having too much layout logic (which gets more complex in vertical text) in gfx code.
Implement sideways text.
Merge pull request #3181 from SimonSapin/sideways-text

Sideways text