Do a blocking wait with WelsMultipleEventsWaitSingleBlocking

There is no point in doing a timed wait here - there's no work
that we can do if the wait timed out, and sleeping for 1 ms
inbetween doesn't help, it only adds potential extra latency
to reacting to threads that need more work to do.

This uses (uint32_t)-1 instead of INFINITE because it's in common code (not in the threadlib code itslef) and will be shared with the unix codepath later.