Destroy all clients before destroying the wl_display object
Wayland docs say that the compositor should destroy all clients before destroying the wl_display object. We currently can't do that because we deleteLater() all resources. However, we should be able to do that after re-implementing all core protocols with the new approach.