Pass a non-Option SubpageId to Pipeline::with_script.

The ScriptTask is only reused for subpages, so there's no reason to pass an
Option.
Rename the pipeline ID fields in NewLayoutInfo.

This will make the distinction clearer with the subpage ID field to be added.
Add a subpage_id field to NewLayoutInfo.
Store the subpage id in the Page.
Instate a pre-wrap hook that outerizes its argument, to satisfy an undocumented JSAPI requirement.
Implement iframe.contentWindow.
Use JS_ObjectToOuterObject in wrap callbacks.
auto merge of #2434 : Ms2ger/servo/contentWindow, r=jdm