Speed ups for navigating Microsoft Excel spreadsheets, especially for those containing comments / dropdowns (#9257)
* Initial stub for excel_getCellTextWidth in nvdaHelper
* Implement all of getCellTextWidth in-process and call it from the Excel cell NVDAObject.
* Excel: move all states calculation in-process.
* Excel: fetch text, address, states, input title, input message, row/column coordinates and outline level all via one in-process call.
* Excel: fix up handling of merged cells.
* Excel: no need to call cell.currentRegion in fetchAssociatedHeaderCells. It just slows things down and the variable was never used!
* Excel inProc: getCellInfo now uses a struct, rather than everything as separate arguments. Will be easier once eventually fetching multiple cells at once.
* Excel: If NvDA cannot inject in-process, such as when in Protected View, fall back to fetching some very basic info for cells, such as address and text.
* Excel: move the fetching of comments and formulas for Elements list in-process.
* Excel: remove an unneeded method.
* Excel nvdaHelper: move constants into their own file.
* nvdaHelper: make use of InterfaceMarshaller in outlook.cpp.
* Excel: mark ExcelCellInfoQuicknavIterator as an abstract class requiring QuicknavItemClass and collectionFromWorksheet to be implemented.
* Excel: address review comments.
* Address review comments.
* Address review comments.
* Excel nvdaHelper support: check more errors and remove a redundant fetch of range.address.
* Excel nvdaHelper:: Excel's range.item is 1-based not 0-based. Listing formulas was 1 cell off.
* Excel NVDAHelper: fetching all cells from a filtered range must use IEnumVariant, not range.item otherwise cells in the gaps will also be fetched.
* Update what's new.