Major VFB refinements
I've switched the XenVFB over to write-fault updating (thanks to Gerd Hoffman). Write-faulting is a method to provide partial framebuffer updates by removing write permission on the framebuffer. When a write-fault occurs, the page is brought in and a timer is activated (if not already active). When the timer goes off, all of the faulted in pages are collected up and write-protected again and an update event is triggered for the rectangle that contains all of these pages.
It's a pretty clever technique that Gerd uses for the UML framebuffer. Its going to require a bit of tweaking to get right for VNC though.