Implement ScriptProcessor.
Implement _.toArray()
Use it for collections like el.attributes
and el.childNodes (where it replaces siblings("starting", el.firstChild)

Some other refactoring.
Refactor frameset link detection
Move towards underscore.js / lodash.js compat.
- Use _. prefix everywhere instead of bare function name.
- each(object, function(key, val)) -> forOwn(object, function(val, key))
- refactor remove() into scriptQueue (the only place it was used)
Naming change only: remove() -> spliceItem()
Removed unused callback option.
Move towards underscore.js / lodash.js compat
- Rename _.extends to _.defaults
- Rename _.config to _.assign
- _.extends is now an alias for *_.assign*
No longer supporting IE6, IE7 so don't need work-around for
broken getElementById