Check all Callouts function pointers for NULL before using them.
Don't load USER dll if not needed by the application.

diff --git a/dlls/kernel/comm.c b/dlls/kernel/comm.c
index defa7e0..c6da61c 100644
--- a/dlls/kernel/comm.c
+++ b/dlls/kernel/comm.c
@@ -340,7 +340,7 @@
   /* send notifications, if any */
   if (ptr->wnd && mask) {
     TRACE("notifying %04x: cid=%d, mask=%02x\n", ptr->wnd, cid, mask);
-    Callout.PostMessageA(ptr->wnd, WM_COMMNOTIFY, cid, mask);
+    if (Callout.PostMessageA) Callout.PostMessageA(ptr->wnd, WM_COMMNOTIFY, cid, mask);
   }
 }