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
Move is_void() Element method together with the other struct methods,
it becomes part of ElementHelpers.