Как я уже понял, мы остановились на двух вариантах
I Скриптовые виджеты:1.Портирование существующих языков;
II Виджеты на машинном коде:3.Загрузка виджетов в память панели.
Если Вы все "единогласно" решили, что рабочий стол должен быть гибким и настраиваемым, то так тому и быть. Ура!
Поскольку ширина панели может меняться, то виджеты должны быть масштабируемыми.
Для масштабируемых виджетов необходимо использовать векторную графику, иначе...
Вот на этом и должен быть построен весь принцип рендеринга виджетов. Именно отрисовка занимает основную часть процессорного времени на машинах с не-геймерскими видеокартами. Именно графические библиотеки имеют наибольший объём. Вот о чём нужно думать в первую очередь.
К сожалению, Gluk уже решил пойти по пути наименьшего сопротивления, реализовывая несколько "либо-каких API", ну да ладно...
Так вот, векторная графика.
Для совместимости лучше использовать уже готовые форматы. Или Вы собираетесь ещё и редактор писать?
Самые распространённые на сегодня форматы векторной графики: SVG и Flash (других, по сути, и нет).
Но у Flash есть один маленький недостаток: проприетарная лицензия.
Ещё есть формат SVG, созданный Консорциумом W3C. (Читай: стандартизированный и бесплатный)
SVG хоть и является расширением XML, но при этом может находиться в сжатом виде, что существенно уменьшает объём SVG-графики.
В общем, можете и сами почитать:
http://ru.wikipedia.org/wiki/SVG .
Наверное, для масштабирования виджетов лучшего решения не найти. Стоит копать именно в этом направлении.
А Вы как думаете?
Можно попытаться портировать эту библиотеку:
http://librsvg.sourceforge.net/