*8681* Added ui fixes to modal that allow for modal stacking with correc...

Added fixes for: http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=8681
Michael, the modal handler should not know about or control other widgets that are outside his handled element, even if it's other modals. That breaks the encapsulation. The solution here is to use events, so the parent widget (the SiteHandler) can know about all modals, because they are inside of it's own handled element, the body.

So that's why I said that this method should be put in SiteHandler.

If we start breaking the rule that widget handlers should only know about inner widgets, then we will start to couple the widgets usage to specific cases. Something like this can happen: an specific widget (like a form, for example) should only be used if it's inside another one (like a modal), because the form code counts that it will be inside a modal and will try to change something there, which it's not the purpose of creating encapsulated widgets. That's why we use events. The form doesn't need to know it's inside a modal, it will fire an event. If it is inside the modal and the modal listen to that event, then the modal can do something about it. But never the form should change something directly in the form.

Does that make sense?