Heapprofiler API

Not finished (needs HeapGraph, GarbageCollector)
Implemented:
HeapProfiler.getProfileHeaders
HeapProfiler.startTrackingHeapObjects
HeapProfiler.stopTrackingHeapObjects
HeapProfiler.getHeapSnapshot
HeapProfiler.removeProfile
HeapProfiler.clearProfiles
HeapProfiler.takeHeapSnapshot
HeapProfiler.addProfileHeader
HeapProfiler.addHeapSnapshotChunk
HeapProfiler.finishHeapSnapshot
HeapProfiler.reportHeapSnapshotProgress
HeapProfiler.lastSeenObjectId
HeapProfiler.heapStatsUpdate

Related: #185


I find the name `serializeIterator ` confusing, I read it like "please serialize this iterator", instead of "an iterator fn for the serialization".  Same for `serializeCallback` below. Can you come up with better names, perhaps `sendSnapshotChunk` and `sendSnapshotFinished`?