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.
Sweet! This looked like it would be pretty general purpose/useful. Eventually we should move these functions elsewhere like `vispy.glsl`, and use `ModularProgram` to assemble the components... but that should probably wait for a subsequent PR. The SDF code maybe should also be moved there, etc...