Pango support

I've re-written the text parts to use the Pango library to render text instead of the toy API of Cairo.

The reason why I implemented it is that it gives us better text rendering and possible future internationalization support.

Let me know what your thought are.