Fixes a problem with redefining ATOMIC_VAR_INIT for esp32
Added a header to allow defining C interfaces using the default C11 atomic types. Those types are however fully opaque and inaccessible from C++, as C11 atomics are completely incompatible with C++.