as some of the API class changes some what broke the way we handle SDM controls (in Microsoft Word etc), rewrite the support a bit.
Specifically:
*SDM NVDAObject: add a SDMChild property, which returns the NVDAObject that represents the real control backing this SDM IAccessible control. E.g. for an edit field, it will return the RichEdit NVDAObject for this control.
Before it returns it though, it sets the object's name property to the same value as the SDM control's name property, and sets the object's parent property to the same value as the SDM control's parent property.
This removes the need for trying to get the name by using weird hacks like AccessibleObjectFromPoint etc.
*IAccessible NVDAObject's findOverlayClasses: remove mapping for RichEditSDM as this is now handled by the SDM NVDAObject itself.
*Remove the RichEditSDM NVDAObject class as its no longer needed.
*IAccessibleHandler.winEventToNVDAEvent: once the object is instanciated, if it is an SDM control, try and get its SDMChild property if it has one, and if it is an object, then use that as the object instead.
*IAccessibleHandler.processFocusWinEvent: ignore the focus event on child windows of an SDM window. A focus event for an SDM control is coming up, so we'll use that.