added compress utility to compress data using snappy

Ignore-this: bf8a5d2709bde019780280463ccb837f

darcs-hash:20140729223520-c21fe-bfeec3da1a9644a55fa26c64dd45bd3e438018ac
changed define in util/bytes.hpp to match header

Ignore-this: 98d36acae7eba8b830fc2617389df413

darcs-hash:20140729223601-c21fe-f925dc99abb6bc8772e1a0947c26ef7124c3bab9
added compression of messages on wire

Ignore-this: dbc13cc52c888d5a4ac7854cea90010d

Now messages are compressed/uncompressed before they are encrypted/decrypted using
google's snappy compression library.

This saves around 10%-20% in data usage :-)

darcs-hash:20140729223741-c21fe-ad321b487d3dec9deacafa6e52225a92a54c6fdf
removed unused constant

Ignore-this: c542c1c00e0150b3a0be8716ac44665c

darcs-hash:20140729224006-c21fe-e8233c45e5295d827196b0c520853bdb561be6ab
the app editor is more "real time" magical

Ignore-this: a4a0f17bab4109366fd867f53ca4dd3d

darcs-hash:20140730023608-c21fe-cf61891695e84645140db3049b5f3907a3d0338f
text edit widget now remembers cursor pos when text is updated

Ignore-this: d976a919ffa809d8f917bfa409fded74

darcs-hash:20140730024134-c21fe-4312b99e7407f7758110e3c971d2e4215ff26e63
added opus to cmake for windows

Ignore-this: 89c337a395e7ab1903ba16477a824888

darcs-hash:20140729202810-c21fe-9fe496762b35b3f75c0ca02ecc3c6700bb768fbb