backends: don't destroy renderer and output twice

drm, fbdev, rpi and wayland backends are unnecessarily destroying
renderer and output before executing weston_compositor_shutdown()

Signed-off-by: Dawid Gajownik <gajownik@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index 1b40e46..f6c84d4 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -2018,14 +2018,12 @@
 		wl_event_loop_add_fd(loop, fd, WL_EVENT_READABLE,
 				     wayland_backend_handle_event, b);
 	if (b->parent.wl_source == NULL)
-		goto err_renderer;
+		goto err_display;
 
 	wl_event_source_check(b->parent.wl_source);
 
 	compositor->backend = &b->base;
 	return b;
-err_renderer:
-	compositor->renderer->destroy(compositor);
 err_display:
 	wl_display_disconnect(b->parent.wl_display);
 err_compositor:
@@ -2037,12 +2035,6 @@
 static void
 wayland_backend_destroy(struct wayland_backend *b)
 {
-	struct weston_output *output, *next;
-
-	wl_list_for_each_safe(output, next, &b->compositor->output_list, link)
-		wayland_output_destroy(output);
-
-	b->compositor->renderer->destroy(b->compositor);
 	wl_display_disconnect(b->parent.wl_display);
 
 	if (b->theme)