A simple thread pool for processing generic 'work'