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/Viewport.h b/vncviewer/Viewport.h
index bd17655..e112efd 100644
--- a/vncviewer/Viewport.h
+++ b/vncviewer/Viewport.h
@@ -56,8 +56,7 @@
   void copyRect(const rfb::Rect& r, int srcX, int srcY);
 
   rdr::U8* getBufferRW(const rfb::Rect& r, int* stride);
-
-  void damageRect(const rfb::Rect& r);
+  void commitBufferRW(const rfb::Rect& r);
 
   void setCursor(int width, int height, const rfb::Point& hotspot,
                  void* data, void* mask);
@@ -72,6 +71,8 @@
 
 private:
 
+  void damageRect(const rfb::Rect& r);
+
   PlatformPixelBuffer* createFramebuffer(int w, int h);
 
   static void handleUpdateTimeout(void *data);