iris: Lock the BO deps lock around all of batch submission

Otherwise, if we have a mean state tracker (say, OpenCL) thrashing
multiple contexts from multiple threads on the same screen, there's a
race between when the syncobjs for a BO are adjusted and when we
actually submit to the kernel.  If we lose this race in the right way,
we can end up with one batch trying to wait on a syncobj before the
corresponding signalling batch has been submitted to the kernel, leading
to a -EINVAL from i915.

Fixes: 89a34cb8 ("iris: switch to explicit busy tracking")
103 jobs for !15981 with iris/batch-submit-race in 7 seconds (queued for 7 seconds)
latest merge request