input: send focus events to the focused client when running a key binding

When running a key binding we don't send the key press to the client
via the wl_keyboard.key event. Instead, send a wl_keyboard.leave/enter
pair so that the client knows the actual state of the keyboard.

Reviewed-by: Daniel Stone <daniel@fooishbar.org>
diff --git a/src/input.c b/src/input.c
index c59c269..59943fe 100644
--- a/src/input.c
+++ b/src/input.c
@@ -753,14 +753,13 @@
 	wl_signal_emit(&keyboard->focus_signal, keyboard);
 }
 
+/* Users of this function must manually manage the keyboard focus */
 WL_EXPORT void
 weston_keyboard_start_grab(struct weston_keyboard *keyboard,
 			   struct weston_keyboard_grab *grab)
 {
 	keyboard->grab = grab;
 	grab->keyboard = keyboard;
-
-	/* XXX focus? */
 }
 
 WL_EXPORT void