wayland: Move DataOffer / DataSource into data-device internals
wayland: Add a wrapper for set_input_focus

So we're not poking into seat internals.
wayland: Fix include ordering

This puts it in the same order as the types in the struct.
wayland: Remove seat->display

It's unused.
data-device: Start a cleanup
data-device: Don't look up the same client twice in two different ways
data-device: Use a better variable name than "resource"
data-device: Put the DataDevice implementation in its own struct
wayland: Remove a few unused fields from MetaWaylandCompositor
wayland: Remove an unused field from MetaWaylandFrameCallback
Don't add in our old input event mask when we select input events

This causes a round-trip to the server, and just isn't necessary, since
we're always in charge of our event mask.
frame: Only XSync when we're on the X11 compositor backend

The only case we have is the case where the two X11 connections are the
same. When on Wayland, the XSync is costly and expensive, and we should
minimize it.