added flag to specify preferred disassembler backend

also refactored code in disassembler module for more
elegant creation and lookup of supported backends