* feat(commands): make voice commands optional with auto-enable for VOSK
This implements a new voice commands feature that:
- Adds 'voice_commands_enabled' config option (None=auto, True, False)
- Auto-enables voice commands for VOSK engine (which needs them for punctuation)
- Auto-disables for Whisper engines (which handle punctuation natively)
- Adds a toggle in Settings > Recognition tab to override the default
The toggle shows the current auto-detected state and allows users to
enable/disable voice commands regardless of engine choice.
This addresses issue #147 discussion about voice commands utility with
modern Whisper models that handle punctuation well.
Closes#270 (by providing an alternative solution - disabling commands)
* fix(tests): add voice_commands_enabled parameter to test expectations
Update test assertions to include the new voice_commands_enabled
parameter that was added to SpeechRecognitionManager.
* style(tests): fix black formatting in test_speech_recognition.py
* fix(commands): keep voice command mode in sync on reconfigure