This MR completes https://gitlab.winehq.org/wine/wine/-/merge_requests/3165. The architecture was changed slightly from what is explained there after some discussion: instead of adding special support for `vkQueueSubmit()` and `vkQueuePresentKHR()`, vkd3d is not changed. Instead, the behavior of `vkd3d_acquire_vk_queue()` is specified, with a recommendation on how to ensure that frames are presented in order (see https://gitlab.winehq.org/wine/vkd3d/-/commit/b2a1f6b5e4f59fbc7f91ada7e56563...). The recommended behavior is implemented in this MR, and it is known to fix presentation bugs on The Medium.