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

The main idea is here.

TODO:
- specs
- gemini tests
- documentation draft
- more examples
it is required to have `popup` module-dependency here. In other case, there is now guaranties that `popup` module would be resolved by the time, when `modal` would stat using it.