Add a priority-indexed ready queue (not used yet.)

Also, not actually only ready threads yet.
Make the new queue only have ready threads.
Use the new ready queue for thread switching.
Don't log idle => idle context switches.
Fix alarm test by not interrupting when disabled.

vblank was interrupting/rescheduling when interrupts were disabled.
That's bad.
Merge pull request #586 from unknownbrackets/threadqueue

Implement a proper thread ready queue