Rewrote hook support to store the hook chain in the server.
Split off 16-bit hook functions and re-implemented them on top of the
32-bit ones; system-wide 16-bit hooks are no longer supported at this
point.

diff --git a/server/request.h b/server/request.h
index 7051e88..f5fd97d 100644
--- a/server/request.h
+++ b/server/request.h
@@ -267,6 +267,11 @@
 DECL_HANDLER(set_capture_window);
 DECL_HANDLER(set_caret_window);
 DECL_HANDLER(set_caret_info);
+DECL_HANDLER(set_hook);
+DECL_HANDLER(remove_hook);
+DECL_HANDLER(start_hook_chain);
+DECL_HANDLER(finish_hook_chain);
+DECL_HANDLER(get_next_hook);
 
 #ifdef WANT_REQUEST_HANDLERS
 
@@ -437,6 +442,11 @@
     (req_handler)req_set_capture_window,
     (req_handler)req_set_caret_window,
     (req_handler)req_set_caret_info,
+    (req_handler)req_set_hook,
+    (req_handler)req_remove_hook,
+    (req_handler)req_start_hook_chain,
+    (req_handler)req_finish_hook_chain,
+    (req_handler)req_get_next_hook,
 };
 #endif  /* WANT_REQUEST_HANDLERS */