layout: Enforce that flow construction is thread-safe.

Closes #1584.
Remove duplicate imports from render_task.rs.
Add more documentation for layout.

+ Annotate functions with CSS Reference sections.
+ Clean up comments and whitespace.
Remove unnecessary ClipDisplayItems in box_.rs

For ScannedTextBox and ImageBox, the ClipDisplayItem's child_list is
currently always empty.

ClipDisplayItem is used to implement overflow hidden and should only be
created for block containers, as per
http://www.w3.org/TR/CSS2/visufx.html#propdef-overflow

Take care of the case when a BlockFlow has no children display items -
like an ImageBox with "display: block".
implement position:relative
compositor can get mouse point from window event