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/protocol.def b/server/protocol.def
index c899ce9..b6553e2 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1552,13 +1552,19 @@
 
 /* Reply to a sent message */
 @REQ(reply_message)
-    int             type;      /* type of original message */
     unsigned int    result;    /* message result */
     int             remove;    /* should we remove the message? */
     VARARG(data,bytes);        /* message data for sent messages */
 @END
 
 
+/* Accept the current hardware message */
+@REQ(accept_hardware_message)
+    int             remove;    /* should we remove the message? */
+    user_handle_t   new_win;   /* new destination window for current message */
+@END
+
+
 /* Retrieve the reply for the last message sent */
 @REQ(get_message_reply)
     int             cancel;    /* cancel message if not ready? */