ENH: Better text rendering

Implements @rougier's suggestions for sharpening text rendering at large scales, and making it more robust at smaller scales. I also checked, and our size conversion is correct so long as the DPI is correct (currently fixed at 92 in the Text visual).

Ready for review/merge.

Closes #426.
Why is this? If we really need it, I suspect it would be faster to get it from the event object rather than querying OpenGL.