Added proper support for storing window parents in the server.
Added a few requests to query the window hierarchy.

diff --git a/server/user.c b/server/user.c
index 88c7fd7..e31fb16 100644
--- a/server/user.c
+++ b/server/user.c
@@ -91,11 +91,7 @@
 {
     struct user_handle *entry;
 
-    if (!(entry = handle_to_entry( handle )) || entry->type != type)
-    {
-        set_error( STATUS_INVALID_HANDLE );
-        return NULL;
-    }
+    if (!(entry = handle_to_entry( handle )) || entry->type != type) return NULL;
     return entry->ptr;
 }
 
@@ -114,11 +110,7 @@
 {
     struct user_handle *entry;
 
-    if (!(entry = handle_to_entry( *handle )) || entry->type != type)
-    {
-        set_error( STATUS_INVALID_HANDLE );
-        return NULL;
-    }
+    if (!(entry = handle_to_entry( *handle )) || entry->type != type) return NULL;
     *handle = entry_to_handle( entry );
     return entry->ptr;
 }