Implement stats.bookkeeping.

This accounts for:
    - All base allocations, including arena headers;
    - All chunk headers;
    - Extent nodes used for huge allocations;
    - All allocations performed via a0{m,c}alloc;
        Note: it looks like these functions are actually exposed on some FreeBSD
        builds, in which case they may be used by applications as well as for
        bookkeeping. This patch makes no effort to address that.

This leaves missing:
    - Allocations made for tcache, which we disable on Gecko;
    - Allocations made for the quarantine, which we don't enable on Gecko;
    - Allocations made for heap profiling, which we don't activate on Gecko.