Use zlib compression in transmission. Replaces current escape mechanism.

Zlib compression is used to compress the trasmitted data. We use
Z_SYNC_FLUSH after every packet and use it as a packet separator
(because 0-length Z_BLOCK never occurs in "naturally" compressed
data). Z_SYNC_FLUSH would be needed anyway to make the data available
for send, anyway.

Decompession must be done with Z_BLOCK flag to separate packets from
the data stream.

Periodic Z_FULL_FLUSH is not yet in use and must be implemented.

Closes #10 because this patch removes the need for escaping and also
compression "masks" all repetitive patterns anyway.