With the new optimizations, the decompressor will read
exactly one byte past the end of its input. This commit makes
the input buffer one byte longer to compensate for that.
Modified the Decompressor class so it no longer keeps
a ReadStream for its input data. This helps us avoid doing
a vtable lookup for every byte read, and halves the time
needed to decompress.
Rewrote most of the engine using a much more object-oriented approach and using more of ScummVM's common classes. This design deviates quite a lot from the original engine's, but should be more maintainable and extensible in the future.