Port KisBrushOp to use "mutated" and "uniquely concurrent" jobs
Now all the threading in KisBrushOp is done using strokes framework only,
therefore we can throttle CPU in a correct way.
The patch also includes:
- KisStrokeStrategy::balancingRatioOverride() can now override the global preferred queues balancing ratio. Basically, when the paintop supports async updates we set updates higher priority over brush jobs.
- KisPainter::runnableStrokeJobsInterface() now must hold a pointer to the currently preferred jobs execution engines.
TODO: implement a fake default execution engine, tight now all the unittests will crash as soon as they try to paint with a paintop
- KisBrush::threadingAllowed() now tells if the brush is allowed to use internals multithreading with QtConcurrent. It is forbidden for the asynchronous paintops, because it saturates CPU cores with extra threads.