v3: - expose ProcessEvents from drivers and move the other logic to win32u:wait_message().
Note that I changed the condition for performing NtWaitForMultipleObjects. That was done if either count is nonzero or there is a timeout, but NtWaitForMultipleObjects always fails with zero count with STATUS_INVALID_PARAMETER_1, I believe that's not what we want.