ChillyWilly , what do you think about this :

-Window control is parent
-Tab contol is child of window control
-All other controls are children of tab control
Edit : The listbox should accept a custom void pointer and a callback so we can add instantly the labels without having to store the data 2times.
And another thing , the screenshot might not look well on a CRT monitor unless you select this text and the surface of the image is covered with the selection highlight color.
Uh and we're going to need a more generic name for the library.Open Retro GUI Library sounds cool.
O.R.G.L.
Some stats :
Widget | Render calls
Window | 5 : 1Fill bg color , 4 Lines(HL color)
Tab | 4 Lines + 4 Lines * tabs + text * tabs
Listbox | 4 Lines + 1HL cell , + text * visible elements
Progress bar | 4 Lines * 3(2nd pass -> fill and optional highliting)
Checkbox | 4 Lines +- 1 small rounded polygon if checked + Label
Label | 1call
Image | 2Calls : Bind & Render
Button | 4Lines + FILL BG color(=tab bg color) + text
The group must be active of course.