Modernized cocoa progress logic

It turned out to be a bit more complicated than doing the same thing as in pdfmasher. The progress window shows as a sheet in dupeGuru, so I had to add this feature.

Also, bundle checking require calls of CocoaProxy function inside the job thread, which requires an autoreleasepool wrap around ThreadedJobPerformer._run_async(). For pdfmasher, not porting that wrap was without consequence because there's no CocoaProxy usage inside a thread, but in dupeGuru, yes. I had to create patch_threaded_job_performer().