Send message for WSAAsyncSelect sockets directly from the server,
instead of using the service thread. Finished separation of ws2_32.

diff --git a/server/window.c b/server/window.c
index 4079007..f7fc039 100644
--- a/server/window.c
+++ b/server/window.c
@@ -329,6 +329,13 @@
     return 0;
 }
 
+/* return the thread owning a window */
+struct thread *get_window_thread( user_handle_t handle )
+{
+    struct window *win = get_user_object( handle, USER_WINDOW );
+    if (!win || !win->thread) return NULL;
+    return (struct thread *)grab_object( win->thread );
+}
 
 /* find a child of the specified window that needs repainting */
 static struct window *find_child_to_repaint( struct window *parent, struct thread *thread )