Build Fontconfig 2.11 in-tree on Linux

After applying this patch, on Linux you will need to

    ../configure
    make clean-rust-azure clean-fontconfig clean-rust-fontconfig

Fixes #1752.
Install expat-devel on Linux builders
Install gperf on Linux builders
Work around missing expat.pc on some RedHat-based systems
Fix link order for azure-test
auto merge of #1780 : kmcallister/servo/linux-fontconfig, r=kmcallister,metajack

After applying this patch, on Linux you will need to

    ../configure
    make clean-rust-azure clean-fontconfig clean-rust-fontconfig

Fixes #1752.

Expect Fontconfig warnings and possibly worse breakage, but for me this makes it possible to use parallel layout at all.
Implement document_from_node and window_from_node helpers.(fixes #1761)
DOMParser should pass the correct contentType (fixes #1741)
auto merge of #1775 : sawrubh/servo/issue1741, r=jdm
auto merge of #1789 : lpy/servo/issue1761, r=jdm

see #1761
Pass a JSContext to JSValConvertible::from_jsval.
Reimplement conversion to primitive types for correctness in the face of non-primitive arguments.
Implement `position: absolute` for non-replaced elements.

+ Re-implement fixed positioning using the absolute positioning code.
+ Add reftests for absolute positioning and fixed positioning.
+ Refactor assign_widths in BlockFlow to isolate the calculation of
widths and margins.
+ Pass down details of the Containing Block for absolute and fixed flows
during layout. Use it to calculate the static position of absolute flows.
+ Defer calculation of absolute flow dimensions till we build the
display list.
Implement mini-traversal for absolute flow assign-height.

This only traverses absolute flows, nothing else.

+ Also, a separate mini-traversal for store overflow.
+ Store descendants with position 'absolute' and 'fixed' in BaseFlow.
+ Bubble up links to absolute and fixed descendants during Flow Construction.
+ Set Rawlink to the CB in absolute descendants.
+ store_overflow() now uses absolute descendants' overflows too.
+ Add reftests for 'absolute' and 'fixed' static y position.
+ Add reftests for overflow (they all fail now).
+ Put absolute flow display items under their CB's ClipDisplayItem.
+ Paint borders in Box_ before the actual box stuff (minor fix in lieu of paint-order).
Remove unused argument to CreateInterfaceObjects2.
Remove unused argument to CreateInterfaceObject and now unused code.
auto merge of #1795 : Ms2ger/servo/CreateInterfaceObject, r=jdm
Fix test.
auto merge of #1791 : Ms2ger/servo/conversions, r=jdm
auto merge of #1681 : pradeep90/servo/absolute-position, r=pcwalton

+ Re-implement fixed positioning using the absolute positioning code.
+ Add reftests for absolute positioning and fixed positioning.
+ Refactor assign_widths in BlockFlow to isolate the calculation of
widths and margins.
+ Pass down details of the Containing Block for absolute and fixed flows
during layout. Use it to calculate the static position of absolute flows.
+ Defer calculation of absolute flow dimensions till we build the
display list.

This implements https://github.com/mozilla/servo/issues/1537 and https://github.com/mozilla/servo/issues/787