Fix system tests (PR #11776)
* Fix locking issue.
Creating a new lock for each critical section is a bug.
Instead, use a reentrant lock, only _onNvdaSpeech modifies speech cache
and it will be called from another thread (NVDA Main), all asserts will
be called from the RobotRemoteServer thread.
* Ensure speech has started before declaring it has finished.
There was a race condition after completing an action to trigger speech
and waiting for that speech to be completed that meant speech may not
not have been started at all.
This is fixed by allowing the start index of the speech to be declared.
* Avoid start marker search if focus is already correct
Sometimes focus lands on the document (and sometimes URL) when
starting system tests with Chrome. If the focus is already in the document
just continue with the test to save time.
* Add example to run the only the chrome tests locally.
* reenable treegrid test