ZVISION: More complete engine implementation

This doesn't look endian-safe... you should either use the endian-safe functions in endian.h, or add an if (SCUMMVM_BIG_ENDIAN) check