Another iteration on the crazy firmware. Now we build the instruction
list with a cached collection of random numbers. We fill the cache by
picking a single random (uint32_t) every time we call doSleep().
Building the instruction list hopefully won’t blow past the end of a
systick now, making the clock lose time.