and implement a virtual svga framebuffer using canvas