Fixes "Knowledge, or know Lady" (Steam game id 2786680) closing itself after 10 minutes of runtime (relying on OpenEvent() with zero access mask to fail).
Patch 2 works around already present test failures which are reproducible here with Wine (denied access for ZwMakeTemporaryObject() when handled is opened with 0 access). Although patch 3 would add a bit more to it (ZwOpenDirectoryObject would not work with zero access). From the userspace ZwOpenDirectoryObject works identical to NtOpenDirectoryObject and doesn't allow opening directory with zero access). "Special" ntoskrnl functions (like ObOpenObjectByPointer) have explicit control where a handle should be opened in user mode or, in kernel mode (which is the only ObOpenObjectByPointer currently supports) it bypasses any access right checks. That was one of the reasons I concluded introducing an explicit alloc_handle_user_open() is better than trying to change alloc_handle() to check for the ask (which is also used with certain "no_type" objects with zero access).