Limit lossless refresh update to safe size

We don't want to waste bandwidth on the lossless refresh if we might
need that bandwidth for a normal update. Try to estimate how much
data we can safely send without interfering.
diff --git a/common/rfb/EncodeManager.h b/common/rfb/EncodeManager.h
index bdff04b..a91c544 100644
--- a/common/rfb/EncodeManager.h
+++ b/common/rfb/EncodeManager.h
@@ -53,7 +53,8 @@
                      const RenderedCursor* renderedCursor);
 
     void writeLosslessRefresh(const Region& req, const PixelBuffer* pb,
-                              const RenderedCursor* renderedCursor);
+                              const RenderedCursor* renderedCursor,
+                              size_t maxUpdateSize);
 
   protected:
     void doUpdate(bool allowLossy, const Region& changed,
@@ -62,7 +63,7 @@
                   const RenderedCursor* renderedCursor);
     void prepareEncoders(bool allowLossy);
 
-    Region getLosslessRefresh(const Region& req);
+    Region getLosslessRefresh(const Region& req, size_t maxUpdateSize);
 
     int computeNumRects(const Region& changed);