rgbled: move all transfers to work queue thread

Maybe irqsave() needed when setting _set_XXX variables.

Not tested yet, not for merging yet.