modal: make block (closes #798)

- [x] main idea
- [x] bh templates + tmpl-specs
- [x] specs
- [x] gemini tests
We should set `zIndexGroupLevel ` to popup from modal, so I set it in template.  Otherwise, it will look that: 
```js
// modal.js
onSetMod: {
   'js': {
        'inited': function() {
            this._popup = this.findBlockOn('popup');
            this._popup.params.zIndexGroupLevel = 20;
        }
    }
}
```
For me, it's not good practice to set params after initialization. So, I've used traditional way to set params to block - in template.