[WIP] Implement CNF support for non-CAFFY functions
Just a proof of concept. Commit message below.
This patch allows adding non-CAFFY functions to compact regions. Because non-CAFFY functions don't have any garbage collected references other than stuff in the payload this operation should be safe.
Other changes:
- Renamed HALF_W_ Cmm macro to TO_HALF_W_. This is more consistent with other TO_ macros.
- HALF_W_ is now a Cmm type macro for bits16 on 32-bit, bits32 on 64-bit.