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
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
Disable cors tests for now as they break the rust upgrade.
Rebase and fix up compile errors for rust upgrade.
Disable event-timeout for rustc upgrade. See #3396.
auto merge of #3948 : servo/servo/rustup-20141105_2, r=Manishearth
Pass all key events to the current constellation frame.
Add KeyboardEvent stub.
Fill in KeyboardEvent.
Dispatch keydown, keyup, and keypress events at appropriate  times.
Implement document focus context and hook it up to click events.
Add single-line text input with no visible cursor.
Flush layout after executing timers.