Java Access Bridge support: make interacting with JComboBoxes much more friendly. Re #3755
Specifically:
* JABHandler: no longer redirect focus events to the new focused java object's active descendant. Instead handle the focus event normally and have JAB NVDAObject's event_gainFocus queue another focus event for the descendant if there is one, only after its completed this focus event. This means that NVDA will fully report any object that gets focus, before reporting its active descendant. As the logic is now in the NVDAObject it can be customized for specific situations.
* JAB NVDAObject's name property: filter out XML markup like we already do for description. Some JComboBoxes contained html in their item names.
* Add a new ComboBox NVDAObject, which handles some issues with JcomboBoxes:
* its value is now the name of the active descendant (selected item). Previously it had no value.
* Expanded and collapsed states are exposed based on whether its first child (menu) is invisible or not. Previously it sometimes exposed expanded by itself, but never collapsed.
* Focus is not bounced to its active descendant after a normal focus event unless the comboBox is currently expanded. Previously focus always landed on the active descendant even if the comboBox was collapsed.