[libc++] Use native wait in std::barrier instead of sleep loop (#171041)

For some reason, the current `std::barrier`'s wait implementation polls
the underlying atomic in a loop with sleeps instead of using the native
wait.

This change should also indirectly fix the performance issue of
`std::barrier` described in
https://github.com/llvm/llvm-project/issues/123855.

Fixes #123855

GitOrigin-RevId: 8680feb9133e3606943d20beb6f3454171da258a
1 file changed