Bug 678238: Only one panel should be shown at a time

* Allows only one panel open at a time, across entire platform (can make it add-on specific, though)
* Side effect of fixing behaviour of immediately calling `panel.hide()` after `panel.show()` would cause the `xulPanel` to display anyway, since it occurs after the hide -- previous test in suite for this did not pass when standalone
* Added test for one panel open concurrently, as well as refactored other test that relied on multiple panels being open