Сам по себе Ports (растровый вывод) вполне можно реализовать с помощью SDL. Таким образом, рендерингом рабочей области окна может заниматься SDL как замена GDI.
Также для вывода примитивов на рабочую область (canvas) можно использовать векторные команды с помощью Cairo, OpenVG, AGG.

Но что касается оконной системы, то тут опять возвращаемся к WinAPI или каким-то внешним библиотекам элементов интерфейса: GTK+, Qt, fpGUI и прочим. По сути, для замены оконной системы сначала потребуется создать некий абстрактный слой - аналог вышеупомянутых библиотек. Возможно, какие-то наработки можно позаимствовать у проекта A2 OS (BlueBottle).