idle_timeout: Replace printing_time with mcu_uptime, add mcu_startup_unixtime
These are the exact changes from #6010, I just recompiled them into a new PR with a cleaner history and more proper commit messages according to the contributing guidelines. It's been almost 3 years since my original PR and I've used these changes in my personal config since (as previously stated), without any problems, so I consider this well tested.
If I remember correctly, the last time I checked the idle_timeout.printing_time variable saw very little use at all by end-users, which is why we decided to replace it (without deprecation warnings or anything). As some time has passed, this might not be the case anymore and should be reconsidered.
If only taken a quick glance, but from what I can tell printer restart independent time tracking is still not possible, so I still consider this feature as meaningful and essential.
PR commit description:
This replaces the old printing_time variable with a new, unconditional mcu_uptime variable. Additionally there is a new mcu_startup_unixtime variable which enables unix time tracking in macros and thus printer restart independent time tracking, which was impossible before.