Extract cross-platform condition variable support into a separate file and provide user-mode non-recursive locks for Windows.