layout: Largely move display list building out to a separate file.

`layout::fragment` and `layout::block` were getting too big.
auto merge of #3771 : pcwalton/servo/display-list-building-cleanup, r=mrobinson

`layout::fragment` and `layout::block` were getting too big.

r? @mrobinson