Improve Remote Access's consistency regarding connections (#18600)
Fixes #18476
Fixes #18383
Fixes #18106
Summary of the issue:
NVDA Remote Access currently:
* Does not allow the user to abort a session while connecting to the
server via the GUI or the toggle gesture.
* Allows a user to create a new session while already connecting to a
server.
* Can get into an inconsistent state if a connection is aborted while
connecting to the server.
Description of user facing changes:
Fixed the above issues.
Description of developer facing changes:
The `connecting` attribute of `RemoteClient` is now marked internal. It
has been replaced by the `isConnecting` property, which synthesizes its
return from more sources.
Description of development approach:
* Set `_connecting` in more places.
* Update the GUI in more places.
* Replace `RemoteClient._connecting` with `RemoteClient.isConnecting`,
as this reports whether RA is connecting or reconnecting.
Testing strategy:
Set up Remote Access to automatically connect on NVDA start-up. Tried
starting NVDA with my remote access server running and not running. In
both states, tried disconnecting and creating new connections etc.
Known issues with pull request:
The dialog presented to users when cancelling a session is the same
regardless of whether they are in the connecting or connected state. I
am not sure if this is a major issue.