Focus area is required to provide listener for pointer up and down events and then trigger callbacks on
FocusPointerDetector widgets when pointer enters the region of such widgets.
This widget must be an ancestor of FocusPointerDetector and share same context. It should appear only once
anywhere in the widget tree as an ancestor of FocusPointerDetector and it take just one required widget parameter
which should contain FocusPointerDetector widgets.
The RegionDetector turns the region/widget wrapped by this widget into a listener for focus_detector callbacks and is meant to wrap widgets
whose regions are to be monitored for touch events.