Refactor the existing CGA rendering code to make it compatible with HGA rendering. The main changes include the introduction of engine variables and a move away from macros.
This commit does change the behaviour of the memset call in room.cpp
in the loadZone() function to clear the entire array. As noted, this
is likely an original bug, but can be changed with the associated
preprocessor define of #if 0 / #if 1 for testing. This now uses the
type size in both cases to avoid warnings.