widget: Fix can-focus
Setting can-focus to FALSE on a widget is supposed to prevent focus from entering the entire subtree. So when we grab focus directly to a widget, we need to check the can-focus flag not just of the widget itself, but all its ancestors.
Fixes: #3610 (closed)