feat(modal): provide ability to cancel modal show/hide

This fix makes possible to cancel the process of showing/hiding of modals. 
Inspired by  `$location` service and its event `$locationChangeStart`.