Move the computed style to a new SharedLayoutData struct.

Implementing the CSSOM requires giving the script task access to the
computed style for a node. Moving it into a new SharedLayoutData struct
member of LayoutDataRef seems to be the best way to achieve this.

This is the first step towards #1721.
Remove unused and misnamed url field on HTMLIFrameElement.
auto merge of #2401 : Ms2ger/servo/iframe-url, r=jdm
Drop the pointless indirection in Window::active_timers.
Stop using ~[u8] in http_loader::load.
Avoid unnecessary allocations in try_parse_url.
auto merge of #2405 : Ms2ger/servo/active_timers, r=jdm
auto merge of #2406 : Ms2ger/servo/http_loader-load, r=jdm
auto merge of #2407 : Ms2ger/servo/try_parse_url-owned, r=jdm
Move the loading of documents in iframes into HTMLIFrameElement.

Right now, the load is kicked off inside the parser glue. This is unfortunate
for several reasons:

1) we'd like to replace the current parser (libhubbub) by our own parser,
   written in Rust, so code intertwined with the parser will have to be
   rewritten;
2) it is impossible to support dynamically (i.e. from script) created iframes
   in this way;
3) the code flow around loading subdocuments is complicated needlessly.

This commit adds the constellation channel (on which the message to actually
load the document is sent) as a field on the Page, to allow HTMLIFrameElement
to access it.

In rewriting the code, support for dynamically created iframes is added, and
a task failure is avoided when the value of the src attribute can not be
parsed.
auto merge of #2403 : Ms2ger/servo/iframe-loading, r=jdm

Right now, the load is kicked off inside the parser glue. This is unfortunate
for several reasons:

1) we'd like to replace the current parser (libhubbub) by our own parser,
   written in Rust, so code intertwined with the parser will have to be
   rewritten;
2) it is impossible to support dynamically (i.e. from script) created iframes
   in this way;
3) the code flow around loading subdocuments is complicated needlessly.

This commit adds the constellation channel (on which the message to actually
load the document is sent) as a field on the Page, to allow HTMLIFrameElement
to access it.

In rewriting the code, support for dynamically created iframes is added, and
a task failure is avoided when the value of the src attribute can not be
parsed.
Make Pipeline::url a plain Url.

It is never mutated, and never None.
auto merge of #2410 : Ms2ger/servo/Pipeline-url, r=pcwalton

It is never mutated, and never None.
auto merge of #2388 : zwarich/servo/cssom, r=jdm

Implementing the CSSOM requires giving the script task access to the
computed style for a node. Moving it into a new SharedLayoutData struct
member of LayoutDataRef seems to be the best way to achieve this.

This is the first step towards #1721.