x64Emitter: add BMI1/BMI2 support

TZCNT and LZCNT use a completely different encoding scheme, so they should
probably go in a separate patch.
I was matching the behavior of SHL and friends, since it felt weird for the syntax to differ