CPython and Windows CRT debug builds use different values for uninit,
freed, and padding bytes. Make ``MI_DEBUG_*`` constants conditional to
allow embedders to override the constants.
Windows dbgheap:
```
_bNoMansLandFill = 0xFD
_bDeadLandFill = 0xDD
_bCleanLandFill = 0xCD
```
Python memory debug
```
PYMEM_CLEANBYTE 0xCD
PYMEM_DEADBYTE 0xDD
PYMEM_FORBIDDENBYTE 0xFD
```
Signed-off-by: Christian Heimes <christian@python.org>
SI prefixes [the decimal prefixes] refer strictly to powers of 10. They
should not be used to indicate powers of 2. e.g., one kilobit
represents 1000 bits instead of 1024 bits. IEC 60027‐2 symbols are
formed adding a "i" to the SI symbol (e.g. G + i = Gi).
- For MI_STAT == 0 no allocation stats are collected
- For MI_STAT == 1 only aggregated values (across normal, large and huge heaps) are collected
- For MI_STAT == 1 separate per-bin collection for normal heap is done as well