Moved tag preference menu logic into `js/ui/tagPreferenceMenuController.js`. Kept `js/app.js` interface intact via thin wrappers. Added unit tests covering new controller. Followed AGENTS.md refactor checklist.