Fixes for cross-compiling to a different word size
This patch eliminates a couple of places where we were assuming that
the host word size is the same as the target word size.
Also a little refactoring: Constants now exports the types TargetInt
and TargetWord corresponding to the Int/Word type on the target
platform, and I moved the definitions of tARGET_INT_MAX and friends
from Literal to Constants.
Thanks to Barney Stratford <barney_stratford@fastmail.fm> for helping
track down the problem and fix it. We now know that GHC can
successfully cross-compile from 32-bit to 64-bit.