Remove some code duplication in the Compositor

It is possible to share the code which creates root layers.
Use the correct Rust path in Android packaging
auto merge of #3987 : mbrubeck/servo/rust-root, r=larsbergstrom

r? @larsbergstrom
Various cleanup in constellation.rs.
auto merge of #4019 : Ms2ger/servo/constellation, r=mbrubeck
embedding: begin cef string_multimap api

cef_string_multimap_alloc()
embedding: cef_string_multimap_size()
embedding: cef_string_multimap_find_count()
embedding: cef_string_multimap_append()
embedding: cef_string_multimap_enumerate()
embedding: cef_string_multimap_key()
embedding: cef_string_multimap_value()
embedding: cef_string_multimap_clear()
embedding: cef_string_multimap_free()
embedding: replace usage of deprecated find*() with get*()
Update behavior of Document.createElement

Fixes #4009.

Only lower-case the argument to Document#createElement if it's a HTML document.
Lower case the type attribute before checking if it's JS
wide form buttons fixes #3972
auto merge of #4021 : letharion/servo/Case-insensitive-HTMLScriptElementHelpers-comparision, r=Ms2ger

Fix for #3993
Implement DOMImplementation.hasFeature

Fixes #4010.