[libc] Implement generic SIMD helper 'simd.h' and implement strlen  (#152605)

Summary:
This PR introduces a new 'simd.h' header that implements an interface
similar to the proposed `stdx::simd` in C++. However, we instead wrap
around the LLVM internal type. This makes heavy use of the clang vector
extensions and boolean vectors, instead using primitive vector types
instead of a class (many benefits to this).

I use this interface to implement a generic strlen implementation, but
propse we use this for math. Right now this requires a feature only
introduced in clang-22.

GitOrigin-RevId: eb7b162ea06091a1bc8b976ae43ee62783dc9fef
8 files changed