[WIP] modal: make block (closes #798)

The main idea is here.

TODO:
- specs
- gemini tests
- documentation draft
- more examples
Start from the far. We have 2 animations: for opening and for closing. The opening animation applies to the modal when it gains `_visible` modifier. But the closing animation should be applied by default. It allows us just to remove `_visible` and the closing animation playing. 
Ok, all is well. 
But also we should set `visibility: hidden` to the modal only when the closing animation ends. Otherwise the animation won't be played. To do this, we add [visibility:visible](https://github.com/bem/bem-components/blob/issues/798%40v2/design/common.blocks/modal/_theme/modal_theme_normal.styl#L59) for animation time, which overrides `visibility: hidden` derived from regular styles. Thus, when the modal initializes, it has `visibility: hidden` and applied closing animation, which sets `visibility: visible` and plays. To prevent this, I've added `_animation` which applies animations to the modal when it opens first time. It works like `_to_*` modifier in `popup`, which applies animations to it and don't set before first opening.

I don't like this mod, but have no idea how to do this with elegance.