Re-write DownloadManager, DownloadThread(Worker) using
a custom thread pool implementation for speed. We don't
want to create a new thread for each url when the same
thread can be re-used.
Rename all <Name>Panel to <Name>Tab
e.g. AudioPanel -> AudioTab
Now every Tab inherits from TabPanel class
TabPanel class contains all the methods to
create widgets, disable them, set the sizers etc
Moved almost all magic literals
(strings, numbers, etc) to class level
OtherTab:
Renamed to CMDTab
OutputTab:
Change output format pick from
checkbox to radiobutton