Refactor Compact.c
- Remove forward declarations
- Introduce UNTAG_PTR and GET_PTR_TAG for dealing with pointer tags without having to cast arguments to StgClosure*
- Remove dead code
- Use W_ instead of StgWord
- Use P_ instead of StgPtr
I have a few branches where I work on this file, and I cherry-pick this commit to every branch. It'd be good to merge this as this is quite helpful.