Swing client refactored

Swing client split into several classes instead of a single large class.
Swing client is now one of the parent modules. Server URL is
configurable.