Fix clock persistence bug caused by stale legacy read in settings
deserialization. Add clock size setting (Small/Medium/Large) and
timezone selection with North American presets plus custom UTC offset.
Move all clock-related settings into a dedicated Clock tab, rename
"Home Screen Clock" to "Clock", and move minute-change detection to
main loop so the header clock updates on every screen.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Fix SetTimeActivity immediately dismissing by changing wasReleased to
wasPressed for all button inputs (matching other subactivities)
- Extract NTP sync into shared TimeSync utility (startNtpSync,
waitForNtpSync, stopNtpSync) and trigger non-blocking NTP sync on
every WiFi connection
- Move clock rendering into drawHeader (BaseTheme + LyraTheme) so it
appears on all screens with a header, positioned symmetrically with
the battery icon (12px margin, same Y offset, SMALL_FONT_ID)
- Add per-minute auto-refresh on home screen so clock updates without
button press
- Add RTC time debug log on boot to verify time persistence across
deep sleep
Co-authored-by: Cursor <cursoragent@cursor.com>