On some OSes, `Instant` would start counting 0 from the boot time. That would mean that any `Instant::now() - dur` soon after boot had a higher risk of overflowing. Now, the expiration is determined by calling `idle.elapsed()`, and comparing durations. Closes #1215