This sounds really good. I can imagine that you will probably use this for small UI's, because of the thread overhead you get otherwise. This is no problem because most games use simple menu's with only a few widgets.

The threadbased design sounds very elegant. If I understand you right, your widget class has a render method. Before executing it, the render-thread locks the thread of the widget, calls the method and unlocks it again. Getting this to run optimal is quite a challenge. The main problem with rendering is, that it can't be easily separated using a few threads, because you get in trouble with your API calls.

Did you have a look at fontstudio made by Nitrogen? I always use it for my projects. It can create very nice bitmap fonts and the corresponding character information. This data can be packed into different formats, a bitmap + separate XML or a TGA with character data inside. I really like it.

I'd like to see more of this!