reorganized bftrans.asm around jump table

Now, instead of a series of cmp's, bftrans.asm uses a jump table to
decide what code to generate. This results in an overall more efficient
program, and paves the way for optimizations later.