Use GetCurrentThreadID instead of std::this_thread::get_id() on Windows because get_id is horrendously slow.
[Core] Add custom partial atomic implementation for MSVC because the default implementation is slow.
[Core] Use the custom atomic implementation on x86-64 MSVC.