Refactor gfx.py with bytearrays, fix graphics dumps, rewrite the compressor.

The old compressor was poorly written and most commands weren't implemented. Now it works too well--the output is smaller than the original extracted data.