Add support for posting results using cross-origin communication.

Where supported, the test harness will now also send messages using
cross-document messaging to each ancestor and opener browsing context. Since
it uses the wildcard keyword (*), cross-origin communication is enabled and
script on different origins can collect the results.
Allow async_test to also take a function as first argument.

This function is called with the test object as both its `this` object and first argument. This avoids cluttering the global scope with lots of references to test instances.

async_test(function(t) {
    object.some_event = function() {
        t.step(function (){assert_true(true); t.done();});
    };
}, "Simple async test");
support NaN in more places
merge
test assert_array_equals with NaN in it in apisample
make tests that use utf-16 not inherit the encoding for testharness.js et. al.
Fix setup function in apisample

--HG--
extra : rebase_source : d6b6afe12f888c84fcfa6f3f5e826d57e1376807
Make the document with testharness.js included the default for output

--HG--
extra : rebase_source : de3fb5e4abe770c8a44b06f7f0c583a12eb196bd
add a media folder
Avoid using trailing commas in object literals

Internet Explorer Charkra doesn't like it.
Disable tests for (interface object).prototype for callback interfaces.
Update first test in IdlInterface.prototype.test_self to current spec.
add link to tutorial to the readme
add .gitignore
remove old parser
add webidl2 submodule
start using WebIDL2
use new inheritance
scope use strict to avoid contamination
quote implements as it's a reserved name that could cause conflicts in poor implementations (as 'class' used to)