Support for tracking focus rectangles in displayModels.
displayModel: track focus rects over scrolls and bitBlits (i.e. displayModel_t::copyRectangle knows about them).
api.setFocusObject: cache the lowest common ancestor on the top most changed ancestor via its container property rather than its parent property. Focus ancestors are always containers.
DisplayModelTextInfo: make it possible to fetch  text from a window with out including text from its descendants. Set includeDescendantWindows class variable to False.

* nvdaHelper's displayModel_getWindowTextAndRects now takes an extra boolean argument after the window handle which should be set to true to include text from descendant windows, false otherwise.
displayModelTextInfo: support for getting the selection based on the existance of highlighted text (by default the system highlight colors).
DisplayModelTextInfo: add a limitRect keyword argument to allow instanciating the TextInfo with a limiting rectangle, but still allowing position to be set to any value. (e.g. using a limiting rect but still requesting POSITION_SELECTION). For backwards compatibility position can still be a textInfo.Rect which will force limitRect to that value.
displayModelTextInfo: when fetching the selection, don't fallback to the caret if this fails. Only do this for EditableTextDisplayModelTextInfo.
Java Access Bridge support: support position information (i.e. x of y) on where ever the 'memberOf' relation is exposed (e.g. radio buttons in button groups). Re #3754

Note: JAB NVDAObject's _getJABRelationFirstTarget has been renamed to _getJABRelationTargets and now always returns a list of targets.
Java Access Bridge support: provide a keyboardShortcut property on JAB NVDAObjects.
IAccessibleHandler.processFocusWinEvent: only pass off a focus event to Java if the objectID is OBJID_CLIENT and childID is 0. This change stops blocking focus reporting on the System menu.
NVDA no longer freezes when the Papenmeier BRAILLEX older models braille display is selected without a display connected.
l10n:
From translation svn 14389.
Fix tracking of the caret for some editable text fields that rely on text written to the screen such as the main text area in Balabolka.

When fetching the caret rectangle for tracking in displayModel text, make an rpc call and use GetGUIThreadInfo in-process as Windows' logical to physical coordinate conversion is rather stuffed for cCaret.
Fixes #3901.
Merge branch 't770'. Fixes #770
Merge branch 't3754'. Fixes #3754
Merge branch 't3881'. Fixes #3881
Merge branch 't3882'. Fixes #3882
Merge branch 't3873'. Fixes #3873
Merge branch 't3874'. Fixes #3874
Merge branch 'master' into t3888