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 #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.