Move common parts of _focused/_disabled behavior to "control" block

**WIP! DO NOT MERGE**

\cc @dfilatov 

The idea is to have a base block `control`, which implements common "focusable + disableable", well,.. interface ;)

The `control` itself never should be instantiate. It should only be used as a `baseBlock`. It provides reactions for `_focused`, `_disabled` modifiers and some protected methods like `_onFocus`, `_onBlur`, which should be used as events handlers in *control's inheritors*.

I'am still not sure about the solution. It doesn't look "natural", but a least it allows to move a lot of copy and paste parts from other components, like `button`, `link`, etc. @dfilatov I need your opinion ;)

closes #308