fix vertical text alignment calculation

the baseline (valign) is now set so the font will render with
equal vertical margin above and below the font extents