Continues the decomposition PR #50 started. voice.go 542 -> 365:
quiet_toggle.go 144 resolveQuietToggle, quietInflections, quietStem,
quietTokens, quietPhrase, quietOn/OffPhrases,
classifyQuietToggle (quiet_toggle_test.go already
existed for these)
patterns.go +44 detectPattern, next to detectAndPropose which it calls
and which patterns.go's own header already pointed at
What is left in voice.go is the handler: reactiveHandler, HandlePushToTalk,
handleText, runTurn, applyAction, replySystem, chatHistory, reply.
Move-only: all 133 distinct non-blank lines removed from voice.go were
matched in the two destination files, zero lines added to voice.go. The only
non-move edits are import lists (log added to patterns.go, unicode and
internal/pattern dropped from voice.go) and two comments that pointed at
voice.go for code that is no longer there.