llvm-tblgen: Introduce llvm::TableGen::Emitter to register backends
Opt(flag, func, desc, default) registers an option into Action.
OptClass<EmitterC> is also available if EmitterC(RK).run(OS) is capable.
Action is defined as ManagedStatic<cl::opt> to guarantee to be created
when each registration of emitter is invoked.
FIXME: This may be move to llvm/include/llvm/TableGen/Main.h
llvm-tblgen: Cleanup for each EmitterClass to be invoked by uniform signature.
llvm-tblgen: Rewrite emitters to use TableGen::Emitter
Each emitter became self-contained since it has the registration of option.