wayland: Rename the delete event to the close event

This was changed upstream a little while ago for C++ compatibility.

It's also the more common term for the operation: you close a window,
you don't delete one. In fact, a delete event might seem like it
would be about resource management instead.
wayland: Rename set_transient_for to set_parent

This is also something that we did upstream. Since we want to
introduce an explicit "xdg_transient" window type for tooltips
and popovers, and since "transient_for" is a confusing dumb
80s term lifted from the ICCCM spec, just rename it.
wayland: Rename commit_attached_surface to commit_attached_buffer

The buffer is the thing that's attached here, not the surface.
wayland: Remove an old comment

wl_buffer_release semantics are centrally managed, and the comment
is above something completely unrelated.
wayland: Small code style fix-up
wayland: Remove some extraneous code

This is already handled by the double_buffered_state_reset at the end.
wayland: Only set newly_attached if the buffer changes

This cleans up the check to determine if the buffer changed,
meaning we shouldn't have to pass it around like we needed
to do before.
wayland: Check for newly_attached everywhere

Instead of using commit_attached_buffer / actor_surface_commit.

We want to kill the return values of these methods because we
really should always be calling them, even if the surface doesn't
have a role.
wayland: Always set the new buffer on the surface on commit

Even when it doesn't have a role.

This fixes cursors not quite working right, as they're a "detached"
surface without a role since nobody called set_cursor on them yet.
wayland: Make synchronous subsurface a very special case in commit

Really, it is a special case. When the subsurface is synchronous,
commit changes meaning from being applied immediately to being
queued up for replay later. Handle this explicit special case
with an explicit special case in the code.

This means that in all other paths, we can unconditionally
apply the actor immediately.
wayland: Always keep the MetaSurfaceActorWayland up-to-date

The MetaSurfaceActorWayland should always accurately reflect
the state of the MetaWaylandSurface, even if it's a cursor
surface.
wayland: Remove the explicit surface commit for Xwayland

It's not needed anymore; we always keep the actor up-to-date.