Multi-instance support

Only works in the GUI for now, doesn't break  the command-line client but the new options are not implemented.

Related to #29 
The download cancelation goes up the call stack - so GUI signals ModuleInstaller, which in turn signals NetAsyncDownloaders