Sync UpdateNotificationWindow.swift: showUpdate now always uses the
static subtitle "Tap to view release notes & update now!" instead of
passing the full release notes text to the popup.
Add ReleaseNotesText view that pre-processes headers (##, ###) to bold
and converts - bullets to • before passing to AttributedString, which
only supports inline markdown. Replaces both Text(.init()) call sites.
Notifications are now interactive: limit warnings and resets open the
main window on tap; update notifications open the update sheet directly.
Bump version to 1.0.4 (build 23).