Provide a better R/W base PixelBuffer class

Clearly separates the read API from the write API
and also from actual implementation.
diff --git a/vncviewer/CConn.cxx b/vncviewer/CConn.cxx
index db1a08a..c78bb89 100644
--- a/vncviewer/CConn.cxx
+++ b/vncviewer/CConn.cxx
@@ -470,7 +470,7 @@
   return desktop->getBufferRW(r, stride);
 }
 void CConn::releaseRawBuffer(const rfb::Rect& r) {
-  desktop->damageRect(r);
+  desktop->commitBufferRW(r);
 }