GUI decorator additions, fixes, and refactoring! Oh my! [1303]

The "swing_thread_required" decorator has been renamed to
"gui_invoke_later" (and uses Java's SwingUtilities.invokeLater).

Added "gui_invoke_now" decorator that corresponds to
SwingUtilities.invokeAndWait. I'm not wild about the name for this one,
but I do like "gui_invoke_later" and would like to maintain some
semblence of consistency…but feel free to make a suggestion!

"gui_invoke_later" (aka "swing_thread_required") didn't work properly
for functions/methods that return things. "gui_invoke_later" has been
fixed, and "gui_invoke_now" should return things just fine from the
get-go.

Replaced the internal class "RunnableWrapper" (subclass of
java.lang.Runnable) with "_JythonCallable". The new class uses
java.util.concurrent's Callable/FutureTask. It's worth noting that
FutureTask.get() will block the calling thread until the GUI code being
"decorated" has completed…but there isn't really a way to avoid that
and support the ability to return values from functions/methods
(AFAIK!).