Give advert and toggleable settings (buzzer, GPS) their own short,
easily distinguishable buzzer tones so users of buzzer-only devices
(e.g. T1000E) can tell events apart by ear.
- genericBuzzer::playToggle(count, enabled): generic, opt-in helper
for the count/direction convention (N notes ascending if enabled,
descending if disabled). Lives next to play()/startup()/shutdown();
any caller can use it, nothing forces it.
- AbstractUITask: virtual notifyToggle(count, enabled) with an empty
default — subclasses that don't care don't override. UIEventType
only gains one event-shaped entry (advertSent), so it doesn't grow
one entry per toggleable setting.
- ui-orig / ui-new / ui-tiny: notify() handles fixed events;
notifyToggle() is a one-line delegate to buzzer.playToggle().
Button presses, home-page actions, toggleBuzzer (3 notes) and
toggleGPS (4 notes) route through notifyToggle().
- Preserve existing silent-when-connected behavior for incoming
contact messages: when the companion app is connected it handles
user notification, so the device stays quiet.
- Fix mute-confirmation bug: hold mute until the off-tone finishes
so the user actually hears it when disabling the buzzer.