Fixes a double-takeover deadlock by changing nt_wait_event_with_timeout() to use a raw syscall to keep the PC in dynamorio.dll for os_take_over_all_unknown_threads() (and synch_with_* and other routines) to more easily identify a thread in DR code. In particular this is required to avoid a double takeover on a race between intercept_new_thread() and os_take_over_all_unknown_threads().
Fixes #4075 (closed)