The definition of __libcpp_timed_backoff_policy and the declaration of
__libcpp_thread_poll_with_backoff must not be guarded by
#if !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
because the definitions of __libcpp_timed_backoff_policy::operator()
and __libcpp_thread_poll_with_backoff aren't guarded by this macro
(and this is correct because these two functions are implemented in
terms of other libc++ functions and don't interact with the host
threading library).