Add firing of events to notify about modal show/hide.

The modal component (among others) needs a way to tell other component that it has been closed/opened. This is very important for use-cases where we depend on the input given in the modal (i.e. via forms). If the user closes the modal before/after entering data, we need an easy way to catch this.

After this change, it's possible to do:
````js
scope.$on('modal.show', function(){
  // The modal has been shown to the user, load remote data, prepare other listeners etc.
});

scope.$on('modal.hide', function(){
  // The modal has been closed by the user... do something
});
````