tap-phantom: Make qunit and phantomjs work well together

QUnit and phantomjs interact poorly. By overriding window.onerror
before QUnit.start(), QUnit catches errors during loading such
as syntax errors. It correctly returns false from its window.onerror
handler, however phantomjs does not act like a browser here. A false
return should normally cause the default behavior, but phantomjs
doesn't do this.

So we unset window.onerror until everything has loaded and the
unit tests have started, at which point we put back the QUnit
window.onerror handler.

Build our own qunit.js, along with qunit-tap, and our own custom
javascript at the end, which comes from qunit-config.js

Move the QUnit settings into qunit-config.js

Add checks for test cases that don't include qunit.js properly or
don't call QUnit.start() at some point. Bail out of testing when
this is the case. This results in a skipped test.

Add a test-dummy.html test case for verifying that this works, and
also as an example of how to write a pure html test, and have it
run by the automake TAP infrastructure.
tap-missing: Run a dummy TAP compiler when phantomjs is missing

This just produces a 'Bail out!' TAP testing directive.

Check for phantomjs in configure
Makefile-tools.am: Simpler tracking of qunit make dependencies

Use a common makefile variable for qunit testing dependencies
dbus-test.html: Move closer to dbus.js implementation

Move dbus-test.html closer to dbus.js implementation, and also
place the dbus-test.js stuff right into dbus-test.html to follow
the model of having our QUnit tests in html files directly.

We still can't run this test directly, so it's a bit of an odd case
as it requires test-server to be running. As before we still run this
from the 'test-server --tap' test case.
test-journal-renderer.html: Migrate journal renderer tests to QUnit

Done a straight forward migration of the journal renderer tests
so they now run within 'make check'.