A surface actor may be destroyed without the backing Wayland surface being destroyed yet, e.g. by the window being unmanaged. Handle this by listening on the "destroy" signal and making late requests (e.g. wl_surface_commit()) resilient against the lack of a surface actor. Fixes: #838 !825