Split microcode into edge and level-sensitive areas

Reordered microcode bits into 24 bits for edge-sensitive signals and 40 for level-sensitive signals. Redesigned the microcode sequencer to use a latch and an always-populated next_addr bit field rather than a counter, which solves many problems around jumping and runt cycles. Still don’t have sequencing of the two classes of microcode bits worked out, it’s proving a much harder problem than I’d expected.