Create a new server request for accepting hardware messages instead of
abusing reply_message.
Allow passing the determined window for a hardware message back to the
server to have it redispatch the message to the correct thread.

diff --git a/server/request.h b/server/request.h
index dc57117..7ce7aa1 100644
--- a/server/request.h
+++ b/server/request.h
@@ -225,6 +225,7 @@
 DECL_HANDLER(send_message);
 DECL_HANDLER(get_message);
 DECL_HANDLER(reply_message);
+DECL_HANDLER(accept_hardware_message);
 DECL_HANDLER(get_message_reply);
 DECL_HANDLER(set_win_timer);
 DECL_HANDLER(kill_win_timer);
@@ -415,6 +416,7 @@
     (req_handler)req_send_message,
     (req_handler)req_get_message,
     (req_handler)req_reply_message,
+    (req_handler)req_accept_hardware_message,
     (req_handler)req_get_message_reply,
     (req_handler)req_set_win_timer,
     (req_handler)req_kill_win_timer,