Adds support for table layout trace and updates viewer for tables.
Fix dimensionality of Au

Previously, we implemented:

Au * Au -> Au
Au / Au -> Au
Au % Au -> Au

... which are inconsistent. It should be:

Au * Au -> SquaredAu
Au / Au -> i32
Au % Au -> i32

or:

Au * i32 -> Au
Au / i32 -> Au
Au % i32 -> Au

I picked the latter.

Also, the multiplicative identity does not make sense
when multiplication take two different types.
Remove min/max functions from util::geometry. Use std::cmp instead.
Add font-size absolute size keywords. Fix #3417.

Relative size keywords are still missing:
https://github.com/servo/servo/issues/3423
added valid license to tid.rs
Fix typo in equality check
First steps of &JSRef -> JSRef conversion

Replace &JSRef with JSRef in the bulk of the generated code. This will
remove a level of indirection throughout all DOM code.

This patch doesn't change methods implemented on JSRef<T> to take `self`
rather than `&self`, and it leaves a few other uses of &JSRef, but those
changes can be made incrementally.
Merge pull request #3424 from SimonSapin/font-size-absolute

Add font-size absolute size keywords. Fix #3417
Merge pull request #3427 from cgaebel/add-license-to-tid

added valid license to tid.rs
layout: Make percentage heights propagate through inline flows.

I found this random bug during an attempt to improve Wikipedia.
layout: Handle floated blocks with percentage heights correctly.

Improves the top menu in Wikipedia.
Merge pull request #3422 from zwarich/jsref

First steps of &JSRef -> JSRef conversion
Merge pull request #3420 from glennw/table-debug

Adds support for table layout trace and updates viewer for tables.
Merge pull request #3430 from pcwalton/inline-block-percentage-height

layout: Make percentage heights propagate through inline flows.
Reintroduce Untraceable<T>.deref_mut() to make mem::replace() possible to Untracebale<T> field.

Some compile errors caused by the compiler's misreading comes back again :(
We re-use `deref()`explicitly to hide these errors.
Use Untraceable<T> to hold LayoutDataRef instead of manual Encodable implementation.
Merge pull request #3418 from saneyuki/untrace

Replace manual Encodable implementation for LayoutDataRef with Untraceable
Share code between Navigator and WorkerNavigator

Also shares code between Location and WorkerLocation. This has been done
by introducing NavigatorInfo and UrlHelper.

Fixes #3159
Merge pull request #3400 from gilles-leblanc/issue-3279

Share code between Navigator and WorkerNavigator
Move is_void() Element method together with the other struct methods,
it becomes part of ElementHelpers.