Moves chrome:tracing into core and reduces the impact of timeline data.

This renames BrowserProvider to ChromeDebugProvider to more closely match
what it does. It changes the transmission format of the timeline debug
data to a flatter filtered structure that is simpler/smaller to serialize.
Instead of sending the timeline data as it arrives it batches it up and
sends it every second. This has the possibility of losing up to a second
of data, but in the future can be made more robust.

This also adds the chrome:tracing functionality into the
ChromeDebugProvider with some efficiency fixes, such as filtering of the
data and transformation into a flatter structer in the extension before
transmitting it to the provider to get around the nasty O(n^2) string
transfer issues in in the ChromePort implementation. Needs an icon and
some UI cleanup, but it's usable now.