Move preferred encoding tracking into a server object

Having it in ConnParams made the linker pull all the encoder objects
into vncviewer, making it larger than necessary and giving it extra
parameters in its help output that weren't relevant.
diff --git a/common/rfb/EncodeManager.cxx b/common/rfb/EncodeManager.cxx
index 1bd00c7..ca60da4 100644
--- a/common/rfb/EncodeManager.cxx
+++ b/common/rfb/EncodeManager.cxx
@@ -164,7 +164,7 @@
   indexed = indexedRLE = fullColour = encoderRaw;
 
   // Try to respect the client's wishes
-  preferred = conn->cp.preferredEncoding();
+  preferred = conn->getPreferredEncoding();
   switch (preferred) {
   case encodingRRE:
     // Horrible for anything high frequency and/or lots of colours