Functional for all sleep modes

Uses WatchDogTimer for sleep modes that stop the millis() timer,
Includes watchdog support and will reset if any task takes longer than
500ms
Added helpers to make creating tasks easier