wsi/x11: Move presentation logic into QueuePresent
Explaining what the old thing did is difficult because the thing it did didn't make a ton of sense. This approach is way simpler. There is always [1] a WSI thread, and its only job is to eat Present events and feed them into the swapchain state.
I'm not totally convinced I preserved all the tuning from the old path for Xwayland, and there's some additional tuning I think we can do too, and probably the locking is missing somewhere, but it's a start.
[1] - Except for the xcb_put_image path, but we can fix that too...
Alternative approach to !13179 (closed) that I think I hate less.