Allow <meta charset="..." /> before boot-script when capturing
Fix for IE9 swallowing <source> elements when not within <video> or <audio>.
Needed if <picture> becomes best-practice.
<picture> might be supported soon so add to html5shiv elements.
Safari-4 can also exhibit IE9_SOURCE_ELEMENT_BUG
parseHTML returns a Future so must use resolve().
Library size never decreases. Now around 11kB minified and gzipped.
Neutralize URLs by prepending the attribute *value* with "meeko-href" rather than prepending the attribute *name* with "meeko-". This allows picture polyfill to work in the normalize(doc) call as it copies `source@src` to `img@src`.

Also, if STAGING_DOCUMENT_IS_NEUTRAL then don't even need to keep neutralized URLs around for the normalize() call. See resolveAll() and deneutralizeAll().
The HTMLLoader used in capturing wasn't passing `details` and hence `isNeutralized` notification
Rename a few consts / vars.
attrDesc.deref is merged with attrDesc.neutralize.
If `neutralize` is true then the attribute needs to be neutralized before parsing. If `neutralize` is `> 0` then the attribute stays neutralized during the normalize() call. This means that if `neutralize` is less-than-zero the attribute will be neutralized for parsing and deneutralized for normalizing.
On some pages with capturing enabled and being viewed on IE8 with an empty cache script.onreadystatechange handlers weren't being called. Wrapping enableScript() in setTimeout() resolved this issue. Not sure why.
AttrDesc class makes code branching in resolveAll() more manageable:
- script@src must always resolve
- img@srcset and a@ping need special resolveURL code
panner.options.loadFromString() makes capturing a bit more logical.
Now normalize() and deneutralizeAll() are called as part of Capture.getDocument() instead of in decor.start(). This is the same as what happens for panned pages.
Add startup_timeout as a dead-man's switch.
Oops. Was only overriding resolveURL() for img@srcset, but source@srcset needs the same override.