This function will search siblings of
base_widget and siblings of its
ancestors for all widgets matching
Of the matching widgets, the one that is geometrically closest to
base_widget will be returned.
The general purpose of this function is to find the most likely “action”
widget, relative to another labeling widget. Such as finding a
button or text entry widget, given its corresponding label widget.
Valid widget, part of a widget hierarchy
Type of a aearched for sibling widget
a widget of type
widget_type if any is found.