dissect: weight-map a binary by OCaml module and library
A CLI that reads a compiled OCaml binary (ELF or Mach-O, detected from
its magic and parsed natively by the elf and mach-o libraries) and
attributes every byte to the OCaml module and library that produced it,
printing a sorted top-N table of proportional bars via nox-tty -- a
native, no-nm answer to 'why is this binary so large'.
Symbol names are classified by Demangle (caml<Lib>__<Module>$fn grouped
under <Lib>; unwrapped libraries by their own name; everything else as C
runtime). Mach-O symbol sizes are reconstructed by address delta, ELF
sizes read directly. The bytes no symbol covers -- symbol/string tables
(strippable __LINKEDIT), constant and exception sections, headers -- are
surfaced in a highlighted warning rather than the table, so module
percentages are shares of the attributed code.
Invoked as 'dissect [--by-module] [-n N] BINARY'. Tested with demangle
unit cases, a reconciliation test, an ELF fixture end-to-end, and a CLI
cram test.