compositor: add WESTON_COMPOSITOR_OFFSCREEN state

This state is used when the user switches the vt. It turns of rendering
and frame events, but doesn't set the DPMS state to off.

As a part of this change, also turn off the idle timer when entering
the SLEEPING or OFFSCREEN states, which fixes
https://bugs.freedesktop.org/show_bug.cgi?id=61910 (rpi backend
untested).
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 3d200dd..6e0a126 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -2020,12 +2020,12 @@
 
 		compositor->focus = 0;
 		ec->prev_state = compositor->state;
-		compositor->state = WESTON_COMPOSITOR_SLEEPING;
+		weston_compositor_offscreen(compositor);
 
 		/* If we have a repaint scheduled (either from a
 		 * pending pageflip or the idle handler), make sure we
 		 * cancel that so we don't try to pageflip when we're
-		 * vt switched away.  The SLEEPING state will prevent
+		 * vt switched away.  The OFFSCREEN state will prevent
 		 * further attemps at repainting.  When we switch
 		 * back, we schedule a repaint, which will process
 		 * pending frame callbacks. */