How did you fix the artifacts at the bottom?
I switched to using a higher resolution input image (1024x1024 instead of 300x300), with a slightly larger amount of black around the edges of the shape and it went away. Given that I'm using a black and white image to approximate a vector shape I'm not surprised it needs a high res input for consistant results.
Do I smell a nice little font library in the works?
A very good question. I'm currently agonising over whether to write a proper font rendering library with this, but it's something of a dilemma. The quality and flexibility for people with shader-capable cards is great, but for shader-less people theres no antialiasing, which means small fonts look a bit rubbish. Whereas my current font stuff using sprites for each character gives antialiased results which look good on shader-less cards but doesn't scale well.
What kind of hardware do other people aim for at the moment? Pretty much all my current stuff works on GL1.1 so will work on anything, but frankly it's getting to be an annoying restriction - especially since GLSL capable cards have been out for five years now (a long time in graphics hardware).