vulkan/wsi: Use explicit sync for Wayland
Wayland actually has an extension for this. Most of the work in this MR is the plumbing which we can hopefully re-use for KMS (once we switch to atomic) and X11 once we get a syncobj extension.
Very few compositors support this today: only Weston and the ChromeOS compositor to my knowledge. I tested it using Weston. My (probably misplaced) hope is that having Linux clients have a good path to using explicit sync on Wayland will motivate GNOME Shell, KWin, and wlroots/sway devs to hook up explicit sync in their compositor.s