vnc: More cleanup, improved reliability, and bugfixes

 * Eliminate unnecessary locking
 * FIx a few state issues after clients disconnect
 * Add frame timing - I don't think we can go faster
   without additional optimizations in libvncserver
 * Organize stuff a little better
3 files changed