heatmap: a generic power-of-two 2D event collector
A small self-contained collector for counting events bucketed by an integer
magnitude (e.g. a region or boundary count) against an elapsed time, both on
floor(log2) axes. add() is lock-free; print() renders the populated sub-grid
with per-row and per-column totals, so the time-axis marginal is a plain
power-of-two-seconds histogram and the magnitude marginal is its dual.
It carries no bees/crucible dependencies so one collector can back several
unrelated metrics — e.g. an algorithm-specific boundary count and an
algorithm-agnostic input-region count against the same elapsed time.