refactor of sayAllHandler into speech. (#12251)
SpeechWithoutPauses is only used by sayAllHandler, but the code lies in speech\__init__.py. Due to code changes sayAllHandler needs to instantiate a SpeechWithoutPauses instance, and would either introduce a circular dependency or require a singleton to be created when the instance is needed.
Description of how this pull request fixes the issue:
- sayAllHandler is moved to a new module - speech.sayAll.
- SpeechWithoutPauses is moved to it's own module
- speech\__init__.py has been moved to speech\speech.py so that speech.sayAll can import the necessary functions from speech.
- sayAllHandler top level functions have been refactor into a class. An instance of SayAllHandler is initialised when NVDA is started in a consistent manner with other initialisations in the code base.