Tests audits support in WebInspector Extensions API

Started extension.
Running tests...
RUNNING TEST: extension_testAuditsAPI
Added audit category, result dump follows:
{
    onAuditStarted : {
        addListener : <function>
        removeListener : <function>
    }
}
category.onAuditStarted fired, results dump follows:
{
    Severity : {
        Info : "info"
        Severe : "severe"
        Warning : "warning"
    }
    addResult : <function>
    createNode : <function>
    createObject : <function>
    createResourceLink : <function>
    createResult : <function>
    createSnippet : <function>
    createText : <function>
    createURL : <function>
    done : <function>
    updateProgress : <function>
}
{
    children : {
    }
    contents : {
        0 : "Subtree"
    }
    expanded : false
}
 Extension audits
All tests done.

