Add RFB protocol version negotiation

Before, if the client did not support the by the server
advertised RFB protocol version, the program would hang. The
correct behavior is to select the next lower supported version.
Like before, we really only support version 3.3.