code_size: per-file/section/symbol size report and base diff, one membrowse CLI (#3988)

Replace metrics.py, metrics_compare_base.py and the membrowse_* scripts with
tools/code_size.py (report, and diff against a base ref built in a worktree,
per board and elf pair; membrowse, linkermap or bloaty engines; flash/RAM from
the ELF headers; --ci over the CI-pinned boards) and tools/membrowse_cli.py
(report, onboard, linker-shim). Diffing each pair on its own, rather than
averaged per-file sizes, keeps a change confined to one configuration visible.

Make tools/linkermap an optional get_deps dependency fetched by path, drop the
unused examples-linkermap target, pass MEMBROWSE_OPTION as --option=, share
first_error with check_build, and replace the membrowse skill with code-size.
33 files changed