updated to use pango / pangocairo for improved text rendering