Support processing of arbitrary list of input/output files.  Introduced
centralized thread management.