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

**WIP! DO NOT MERGE**

\cc @dfilatov 

The idea is to have a base block `base-control`, which implements common "focusable + disablable", well,.. interface ;)

The `base-control` itself never should be instantiate. It should only be used as a `baseBlock`. 

It provides reactions for `_focused`, `_disabled` modifiers, some protected methods like `_onFocus`, `_onBlur`, which are used as events handlers in *control's inheritors*. Also there are some common API methods: 

- `getName()` to get control's "name" (_returns an empty string if control doesn't have one_)
- `getVal()` to get its "value" (_returns an empty string if control doesn't have one_)

As a side notes: *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