feat(modal): $broadcast 'modal.shown/hidden/removed' from parent scope

Closes #243