Python 3: xrange -> range (#9627)
* Text infos/offsets/Python 3: remove six.moves.range import. Re #9078.
Although a good compatibility call, it is better to call range function directly. The only place six.moves.range was used was textInfos/offsets.
* Python 3/API handlers: xrange -> range, explanatory comments. Re #9078.
Xrange is gone in Python 3, replaced by range which performs the same thing as xrange.
The following API handlers were modified: IAccessible, JAB, UIA.
* NVDA objects/top level/Python 3: xrange -> range and explanatory comments. Re #9078.
* NVDAObjects/IAccessible/Python 3: xrange -> range and explanatory comments. Re #9078.
* NVDAObjects/JAB/Python 3: xrange -> range and explanatory comments. Re #9078.
* NVDAObjects/UIA/Python 3: xrange -> range and explanatory comments. Re #9078.
* NVDAObjects/window/Python 3: xrange -> range and explanatory comments. Re #9078.
* NVDA helper/Python 3: xrange -> range. Re #9078.
* UIA browse mode and utilities: xrange -> range. Re #9078.
* API/Python 3: xrange -> range for states set construction and focus ancestor calcualtions. Re #9078.
* App modules/Python 3: xrange -> range except for Skype module. Re #9078.
If Skype app module is planned to be removed, it won't make sense to change xrnage to range. Other than this, other app modules were edited, including Excel, Kindle, Miranda, Outlook, and VIPMud.
* Braille input and output/Python 3: xrange -> range. Re #9078.
* Braille display drivers/Python 3: xrange -> range, mostly involving device identification, status, input devices and connection attempts. Re #9078.
* Config/Python 3: xrange -> range. Re #9078.
* Display model/Python 3: xrange -> range. Re #9078.
* GUI/NVDA controls/Python 3: xrange -> range, mostly dealing with custom check list box handling. Re #9078.
* HW port utils/Python 3: xrange -> range. Re #9078.
* Installer/Python 3: xrange -> range. Re #9078.
* Keyboard and mouse handlers/Python 3: xrange -> range. Re #9078.
* NVDA Ease of Access/Python 3: xrange -> range. Re #9078.
* nvwave/Python 3: xrange -> range. Re #9078.
* NVDA Python Console/Python 3: xrange -> range. Re #9078.
* Queue handler/Python 3: xrange -> range. Re #9078.
* Speech viewer, touch tracker/Python 3: xrange -> range. Re #9078.
* Virtual buffers/Python 3: xrange -> range, mostly states set construction. Re #9078.
* Windows console handler/Python 3: xrange -> range. Re #9078.
* Python 3/range: remove source code comments.
Review by Reef Turner (NV Access): add explanatory comments for code fragments that are unclear at first. Since xrange to range is trivial and clear enough, reomve such comments.
* Speech/Python 3: xrange -> range. Re #9078.
* SAPI5 synth driver/Python 3: xrange -> range. Re #9078.
* NVDAObjects/UIA/Edge/Python 3: wrap range function used in heading level lookup inside a list. Re #9078.
Comment from Leonard de Ruijter (Babbage): there is one genuine need for range function, or at least its Python 2 behavior: EdgeHTML heading lookup, which will lookup heading level text from 1 through 6 inclusive (in a list). Thus wrap this inside a list call.
* IAccessible handler/Python 3: add a note about enumerate() function. Re #9078.
Comment from Leonard de Ruijter (Babbage): try using enumerate() function to access both the index and the value at hand. Note that this may need to be postponed until this is merged into Project Threshold.