* fix issues when remote excepts out
* Remove explicit clear_cache from MimicTTS
* Updates for using singleton TTS playback thread
- Cache is called on all tts's registered as using the thread
- Begin audio and end audio is handled by the playback thread
- Further changes from self.playback to TTS.playback for consistency
* Remove redundant try/except
* Consolidate general and TTS-specific sentence splitting
This performs all sentence-splitting at the same stage. This fixes a
subtle issue where a TTS splits a sentence into chunks and throws an
error on only one of those chunks. The fallback would generate a
sentence for the original un-chunked sentence. possibly saying the same
parts twice.
This also pre-compiles the regexes used to speed things up a bit.
Co-authored-by: Ken <ken.smith@mycroft.ai>