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
It wasn't more generic... in fact it would only be equal to horiAdvance _if and only if_ you did not rotate the glyph. If you did rotate the glyph the value would already be incorrect (it would be shorter than the real horiAdvance), so if you ask me, horiAdvance is "rotation proof" whereas advance.x isn't. I don't know what you can call more generic in this case :stuck_out_tongue:. If you intended to express a Glyph's advance as a 2-dimensional vector for future rotatable glyph support, I wouldn't have a problem with sticking to advance (both components) but only making use of the x component will eventually be more error prone.