I have started investigating SWT as a platform for a Java based widget library. A quick test on my Fedora machine showed everything I require is possible, plus support for non rectangular windows, err Shells. I will continue my testing on Windows and OS X and see if all of these features work on all platforms. I have my doubts.
EDIT: After a year of not messing with this idea, looks like I can just use the work done by Joshua Marinacci. Thanks!