Various performance tweaks.

This dramatically improves snapshotting performance in Chrome by using blob URLs to transfer the binary snapshot data instead of base64 encoding it and sending it through the various contentscript/extension contexts.

It also does some work to reduce the performance impact of the timeline events coming from the debugger (GCs/etc) by batching them up (as they always should have been).

Finally, I moved the chrome:tracing support into the core. It still needs some UX cleanup, but works and is much more efficient than before.