add aesni intel asm syntax for aesni, abstract cpuid and asm linkage better for msvc