Spatial navigation
===
Навигация осуществляется одним из двух способов:

1.  Проверяется наличие подходящего правила перехода. Правило перехода
    задается с помощью метода *setNavigationRule,* в который передается
    виджет, с которого осуществляется переход, направление, виджет на
    который осуществляется переход, а также необязательный флаг
    двунаправленности, при наличии которого будет справедливо обратное
    правило для данного перехода;

2.  Если подходящего правила перехода не найдено, задействуется
    пространственная навигация. В этом случае подходящий виджет
    определяется на основании положения предыдущего виджета;

Виджеты, помещенные в контейнер, также являются контейнерами и могут
содержать другие виджеты. В связи с этим иногда может потребоваться
задать виджет по умолчанию, который будет активирован в случае, когда
предыдущего активного виджета еще нет. Это делается с помощью метода
*setDefaultWidget,* который принимает инстанс виджета и делает его
виджетом по умолчанию.

В целях отладки существует возможность активации debug режима с помощью
*setNavigationDebug*. В этом случае в процессе навигации границы
виджетов будут подсвечиваться разными цветами:

-   Красный - предыдущий виджет, который находился в фокусе до
    наступления события навигации;

-   Зеленый - текущий виджет в фокусе;

-   Серый - все остальные виджеты, попавшие в область навигации.

TODO: Состояние виджета: isFocusable, isEnabled, isVisible
