Refactored functional simulator decode

Refactored the way control words are decoded in the functional simulator, the code is much simpler and much easier to read now.

The next steps will be to complete support for the rest of the microcode including paging, and then implement the microcode disassembler properly (rather than hardcoding it all like it is now).