nested: Remove the surface from the surface list when destroyed

Otherwise if the surface is destroyed then it will crash when it later
tries to render all of the surfaces. You can replicate this by doing
killall weston-nested-client while the example is running.
diff --git a/clients/nested.c b/clients/nested.c
index ff59014..31618b2 100644
--- a/clients/nested.c
+++ b/clients/nested.c
@@ -265,6 +265,8 @@
 {
 	struct nested_surface *surface = wl_resource_get_user_data(resource);
 
+	wl_list_remove(&surface->link);
+
 	free(surface);
 }