The info for writing GTK based apps is now common knowledge. (Thread can be found on here) Essentially IIRC grabbing the relevant libs from the device (renamed the So in some cases) and building against them with a relevant toolchain.
That would possibly be a route of low resistance.
The Java Bytecode stuff might be simple enough, if you knew it already, I don't so I cant speak authoritatively on the subject, there is a decent wiki on the subject maintained largely by Ixtab, the author of that work. There is a learning curve associated with this if it's not in your skills set (like all "work", but this one might be tricky, that depends on you really)
Compiling native Xorg apps I can't help with other than I recall apps can be injected into awesome if the correct naming convention is used (you would have to check my facts on that), hopefully someone will come along with a great answer on that. I would like to read it.
WAF's again would not be a great choice IMHO since the interface is very linear.
I have never actually used mplayer but imagine a few widgets and a selectable list box would go a long way.
Hope that helps. A bit.