* Refactored apos.modal and apos.modalFromTemplate so that all the rich capabilities of apos.modalFromTemplate are available when you bring your own element
* Escape key dismisses the modal
* If the form tries to submit itself (enter key in the only text field for instance), trigger .apos-save properly
* Optional options.init, options.save, options.afterHide handlers are all async
* Focus automatically set on first form element that does not have the apos-filter class