Modal panel API

Closes #4046

Will require the linter in #4045 to look for `.overlay` and suggest `atom-panel[location="modal"]` instead.