Push encoding specific formats into the encoders and decoders

Keep the generic stream classes clean and general.
diff --git a/common/rfb/TightEncoder.h b/common/rfb/TightEncoder.h
index a876b6f..b633512 100644
--- a/common/rfb/TightEncoder.h
+++ b/common/rfb/TightEncoder.h
@@ -74,6 +74,8 @@
     void sendRectSimple(const Rect& r);
     void writeSubrect(const Rect& r, bool forceSolid = false);
 
+    void writeCompact(rdr::OutStream* os, rdr::U32 value);
+
     void compressData(const void *buf, unsigned int length,
                       rdr::ZlibOutStream *zos, int zlibLevel,
                       rdr::OutStream *os);