added a native spinlock implementation for MSVC