layout: Translate floats when clearing non-floated blocks.

Improves CNN layout considerably.

Closes #3439.
Merge pull request #3454 from pcwalton/float-clear-bug

layout: Translate floats when clearing non-floated blocks.
layout: Adjust the position of block formatting contexts based on float
placement.

Improves Reddit considerably.

Closes #3456.
Merge pull request #3457 from pcwalton/block-formatting-contexts

layout: Adjust the position of block formatting contexts based on float placement.
Fix inline context padding on inline-block.

Fixes categories bar on wikipedia - ref #2554.
Rename macros crate to plugins
Add license headers
Fix CEF
Merge pull request #3435 from Manishearth/macro_reorg

Reorganize macros crate; r=jdm
Merge pull request #3460 from glennw/inline-block-padding

Fix inline context padding on inline-block.
Disable non_snake_case warnings in devtools
Fix other warnings in devtools
Avoid an unnecessary string allocation in allow_cross_origin_request.
Merge pull request #3461 from mbrubeck/warnings

Fix misc warnings in devtools crates. r=jdm
Merge pull request #3462 from Ms2ger/as-slice

Avoid an unnecessary string allocation in allow_cross_origin_request; r=jdm
layout: Float table wrappers directly instead of generating a block
wrapper around them.

Fixes Wikipedia tables leaking out.

Along the way, I refactored tables' width calculation significantly.
This was necessary in order to properly handle floated tables, as some
of the logic had to be ported over from block flows.