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

The main idea is here.

TODO:
- specs
- gemini tests
- documentation draft
- more examples
In case of you have `this._popup` it's redundant live bind.