- Fix trackball completely dead: remove gpio_reset_pin() calls that
prevented GPIO interrupts from registering on ESP32-S3
- Add trackball left/right tab cycling when screen doesn't consume event
- Add NameInputScreen: Ratspeak-branded first-boot name input
- Add display name to all announces as MessagePack app_data
- Add TEXT_INPUT setting type; expose Display Name in Settings
- HomeScreen Enter key sends announce with toast notification
- Bump version to 1.2.2
After ESP32-S3 USB download mode, GPIO peripheral state may persist
across soft reset. The trackball interrupts silently fail because
pins are in an unknown state from the bootloader.
Fix: call gpio_reset_pin() and detachInterrupt() before configuring
the trackball GPIOs, ensuring a clean state regardless of how the
device was reset (power cycle, RTS toggle, or software reset).