Make arguments explicit in all message writer methods

Make sure all methods only write what is given as arguments, and
avoid side effects by getting data from parameter objects. This keeps
things readable in the calling code.
diff --git a/common/rfb/SMsgWriter.h b/common/rfb/SMsgWriter.h
index 2db147b..ddddb09 100644
--- a/common/rfb/SMsgWriter.h
+++ b/common/rfb/SMsgWriter.h
@@ -32,6 +32,7 @@
 namespace rfb {
 
   class ClientParams;
+  class PixelFormat;
   struct ScreenSet;
 
   class SMsgWriter {
@@ -41,7 +42,8 @@
 
     // writeServerInit() must only be called at the appropriate time in the
     // protocol initialisation.
-    void writeServerInit();
+    void writeServerInit(rdr::U16 width, rdr::U16 height,
+                         const PixelFormat& pf, const char* name);
 
     // Methods to write normal protocol messages