Drop Action._execute_worker in favor of Action._execute_current_worker

Makes the API more consistent, current worker is determined by
Action.worker_idx.
Call command callback even if there is no output data read from standard outputs, refs: #6583

This will allow tools (such as bmx) which do not output data to stdout or
stderr to use the callback method.
Compute progress in bmx worker, closes: #6583
Remove memory_limit from Command.run arguments
Let the worker specify the command kill timeout
Increase kill timeout limit to 5 hours for the bmx worker

Since raw2bmx does not output anything during execution, we need to
increase the limit before the process is considered "hung".

5 hours should be enough, considering that wrapping 350GB at 30MB/s
takes ~ 3h15 to complete.
Support text and timecode burning through drawtext method in ffmpeg worker, refs: #6582
Support text and timecode burning in transcode action, refs: #6582
Support text and timecode burning in toolbox2-transcode, closes: #6582