compositor-drm, evdev: don't crash on missing keyboard

Weston's notify_keyboard_focus_*() assume that a keyboard is present, if
they are called. With evdev, there might not always be a keyboard.

Also clean up the variable definition in evdev_notify_keyborad_focus().
I read that function through many times and finally had to grep where
does 'all_keys' come from.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index eab5f5c..bcd8aac 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -2012,7 +2012,8 @@
 	wl_list_for_each_safe(device, next, &seat->devices_list, link)
 		evdev_input_device_destroy(device);
 
-	notify_keyboard_focus_out(&seat->base.seat);
+	if (seat->base.seat.keyboard)
+		notify_keyboard_focus_out(&seat->base.seat);
 }
 
 static void