Make _startAddr and _endAddr in HeapObject private to allow for split()ing
Add some error outputs when constraints are violated
Add a split function to HeapObject
Update HeapAnalyzer to store a tree of heap objects based on address, and do a two-pass scan of the heap to split and build references
Update print statements
Fix oops
Simplify code
Add some more status logging
Cache some values and calculate deep sizes before dumping HTML
Stash a really hacky thing where I extracted stacktrace-generating code from valgrind
Revert "Stash a really hacky thing where I extracted stacktrace-generating code from valgrind"

This reverts commit f03d12e558474046f0fe4cc9f22c70ba7b15b377.
Add a filter for dominator nodes