Make ghc-heap multi-platform
It's been my long-standing goal that GHC should be as target-agnostic as possible. ghc-heap is very low priority on this list, as it can be construed as "target agnostic but host specific" already (i.e. it tells you about it's own heap). Still, one could imagine it could both do that, and crawl core dumps of foreign code, or do it live with
iserv for some remote debugging wizardry.
I got the idea when hunting down
TABLES_NEXT_TO_CODE in !152 (merged)
Pull out all the CPP / HSC into one module, that fills in some "abi config" struct. Everything else pulls the magic numbers from the struct.