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 
Woah! We need to signal download cancellation in multiple areas? We should totally combined these somehow!