CL/VK: Fix event blocking for enqueueReadImage/enqueueMapImage There were issues with enqueueReadImage and enqueueMapImage getting blocked when one of the waitEvents is a user event. This change fixes the issue by staging a transfer routine. Additionally, this change removes the redundant struct BufferBox. Bug: angleproject:381199196 Change-Id: Id0c09d9930b36b79229f5e2367f8132e9e5e476e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056426 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>