Add a timed "wakeup handler" for hibernation
The only part of consider_hibernation() that we can't turn off when we're hibernating is the part where we decide to wake up because of elapsed time. So let's do that with a timer rather than in run_scheduled_events().