[libc++] Hide some functions and types in <future> and <thread> as hidden

Otherwise, weak symbols leak into user programs when using `async` with
non-internal types.

Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: dd37e24ae62329d8376b7989dc2e3a53be30622a
diff --git a/include/thread b/include/thread
index 02da703..3b55342 100644
--- a/include/thread
+++ b/include/thread
@@ -274,6 +274,7 @@
 }
 
 template <class _Fp>
+_LIBCPP_INLINE_VISIBILITY
 void* __thread_proxy(void* __vp)
 {
     // _Fp = std::tuple< unique_ptr<__thread_struct>, Functor, Args...>