Move bad tag span tests over to new test harness.
Move cuetext timestamp span tests to new test harness.
ProcessingInstruction should return an object.

FakeWindow::ProcessingInstruction() should return an object in order to be
able to add properties and such to it. This was causing the "unable to set
'target' on undefined" bug in the timestamp tests.
Add tests/util/cue2json.js for creating test-ready JSON from parsed cues.