Dispatch events when the modal becomes visible / hidden

The primary events are not fired until the enter / leave animations are
complete, but there are accompanying "begin" counterparts in case an
implementor does want to know when the process is starting.