better static_assert-detection for clang and fix for unused-typedef warning on gcc
better STATIC_ASSERT implementation on non-MSVC-compilers when compiling .c