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.
Rename LoadIframeUrlMsg to CreateIFrameAndLoadUrlMsg

This better reflects what the message does.
Small fix to variable name

This is a more accurate name for the script pipeline.
Add some factory methods for frame tree types
Send incremental frame tree updates to the compositor

This allows the compositor to add frames after the call to SetIds,
where the initial frame tree is created. There are still some issues
preventing proper late frame creation, but this prevents crashes when
it happens.

Fixes #3738.
auto merge of #3951 : mrobinson/servo/iframes, r=jdm

This is the first step to allowing incremental iframe creation and destruction. This should eliminate task failures when an iframe is added to the frame tree lazily via script.
Merge branch 'master' of github.com:servo/servo
Rebase commit
Move code related to json packet reading to JsonPacketSender trait

fixup! Move code related to json packet reading to JsonPacketSender trait
Fix #3933