Instead of forcing all steps in the batch processing dialog to execute
in the main thread, we now run each step as a separate task whenever
possible. This keeps the UI nice and responsive, and permits
responsive cancelation and progress reporting.
Individual steps are still run sequentially, not in parallel (yet!)
blocking operation via task manager
Allows use of the task manager progress reporting system from
operations which are blocking (and cannot be made background
tasks!), e.g. layout exporting, project loading.