More fixes for text rendering

* Fixed missplaced underline with some fonts (including Windows' Arial)
* Fixed glyphs being 2 pixels too large in each dimension because of padding being applied to glyph bounding boxes as well
* Moved underline and strike through a bit so their centre is where it is supposed to be
So if the previous code was correct too, and more generic, why did you change it?