These days HTML is the most reasonable approach to anything involving
fonts and images and interaction. It's not as beautifully direct as REBOL,
and being trapped in a browser is somewhere between limiting and annoying,
but the visual toolkit is there, and it's ubiquitous. (For the record, I
would have solved the "list all the filenames..." problem by generating
HTML, but firing up a browser to display the result is a heavy-handed
solution.)
I know it's Microsoft-only, but I think XAML is an attempt to solve exactly this problem. It's a declarative UI description language, but without some of the legacy baggage of HTML.