Convert NVDAHelper LocalWin10 to C++/WinRT (PR #11768)
Closes #10662
Summary:
Interaction with the Windows 10 UWP/OneCore APIs was performed using C++/CX code.
This is an extension to the C++ language that which dialect is sometimes a bit different
from standard C++.
C++/CX is superseded by C++/WinRT. which is a C++20 language projection.
Using this results in code that is IMO much more readable to people who know C++ but
are not accustomed to the CX dialect.
It also uses C++ coroutines instead of the Parallel Patterns Library.
Not to mention that CX is likely to be deprecated in the future.
Description of change:
Converts all C++/CX and WRL code to its equivalent in C++/WinRT.
While at it, I converted the OcSpeech and UwpOcr structs to classes that hold the speech
synthesis and OCR engines as private members, ensuring that the exported functions could
only access the things they need.