Currently, Sleep Primitives stall the whole command queue as they are executable lv2 primitives with no way to merge with nearby LV1 primitives. But in many cases, Sleep Primitives could be replaced by looping for n cycles in the current TAP state. A Sleep primitive would only be able to expand if the current state is loopable (TLR, RTI, SHIFTDR, SHIFTIR), and if the transfer rate of the controller is known.
This enhancement will allow multiple RunInstruction Primitives to combine into a single LV1 primitive, even if the RunInstruction Primitives have sleeps in them.
Requires #5