* Add tests for open failures
* Refactor tests to avoid tests depending on implied status from
previous tests:
1. The viewer is now created and destroyed for each
test to avoid pollution and simplify error handling: nothing
starts until you request it.
2. Some tests like Basic: Homepage depended on the Zoom & Pan tests;
now this is handled explicitly as part of the test setup
3. All basic tests are now properly async tests (since they needed
the viewer to load, they really were in the past except that
they were relying on the viewer state left behind from previous
tests)
* All tests now run inside the qunit-fixture to prevent masking
failures. Util.resetDom() has been refactored to use the
qunit-fixture and the teardown logic only used in the navigator
tests has been moved into the navigator test teardown method
* Fixed undeclared mainViewerElement variable in optional path in
the navigator tests
* JSHint cleanup