Pass input device and time in key_handler callback

Move the modifiers to a input device getter function.
diff --git a/clients/window.c b/clients/window.c
index 13d7ece..f05405e 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -922,8 +922,8 @@
 		input->modifiers &= ~d->xkb->map->modmap[code];
 
 	if (window->key_handler)
-		(*window->key_handler)(window, key, sym, state,
-				       input->modifiers, window->user_data);
+		(*window->key_handler)(window, input, time, key, sym, state,
+				       window->user_data);
 }
 
 static void
@@ -1014,6 +1014,12 @@
 	return input->input_device;
 }
 
+uint32_t
+input_get_modifiers(struct input *input)
+{
+	return input->modifiers;
+}
+
 struct wl_drag *
 window_create_drag(struct window *window)
 {