As discussed offline, we should be able to mark v8 objects during construction with their frame [separate zone? added parameter on the objects? details TBD].
Heap memory may be shared between frames that are synchronously scriptable [really all units in the similar origin browser context]. However, most of the time, the frame trees of different tabs co-hosted in a process should not be synchronously scriptable. This means that we should be able to look at the frame-trees and do post-processing on the heaps to determine per-tab memory.
There are some edge cases [e.g. inlined strings] which are shared between contexts. When in doubt, we can choose to double-count the memory.
The main goal is to give a rough estimate of v8 memory usage broken down by tab for:
* resource coordinator
* web devs.