TextOutputDev: clip the selected text rendering to the selection box

Sometimes with italic text or text containing ligatures, part of the
glyph falls outside the selection box. By clipping to the selection box
we avoid drawing the whole glyph with the selection color.

https://bugs.freedesktop.org/show_bug.cgi?id=66983
0.23.4
TextOutputDev: Do not draw ligatures more than once when selected

When the selection covers a ligature presentation form where a single
character code corresponds to multiple Unicode codepoints, the glyph for
the ligature is drawn multiple times, once for each Unicode character.

https://bugs.freedesktop.org/show_bug.cgi?id=9001