embedding: begin cef string_map api

cef_string_map_alloc()
embedding: cef_string_map_size()
embedding: cef_string_map_append()
embedding: cef_string_map_find()
embedding: cef_string_map_key()
embedding: cef_string_map_value()
embedding: cef_string_map_clear()
embedding: cef_string_map_free()
embedding: rename string_list internal function to string_list instead of string_map
embedding: cef_string_utf8_cmp()
Clip display list based on frame viewport

Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
Move code related to json packet reading to JsonPacketSender trait

fixup! Move code related to json packet reading to JsonPacketSender trait
Fix #3933
Remove some code duplication in the Compositor

It is possible to share the code which creates root layers.
auto merge of #3955 : thiagopnts/servo/devtools-refactoring, r=jdm

I was messing around devtools code and saw some TODOs, is anyone working on it? I took one of them:

```// TODO: this really belongs in the protocol module.```

I would be glad to help with this if no one is on it already, just let me know.
auto merge of #3938 : guillaumebort/servo/fix/3933, r=jdm

Implement HTMLOptionElement.{label,value}
auto merge of #3809 : mrobinson/servo/display-list-optimization, r=pcwalton

Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a
Fix unit test compile error.
Fix CEF build cargo.lock file