badge23: use delays instead of timers for io tasks
Having lurked some FreeRTOS forum threads, it seems like this is preferable to the previous approach (timer unblocking a thread using a queue/semaphore), as it's less resource-intense and doesn't cause a global timer pileup if one of the tasks causes backpressure.
This is a random commit that might help us chase out Core 0 WDT interrupts.
Tested on p3.