That'd involve tons of coding and kernel hacking. It's way above my knowledge. I never programmed a VM, and my knowledge about the linux kernel and device driver programming is not the best around either. You would need to know very well the host and the guest OS at kernel API level, since you would probably need to program a different driver for each one, or at least, a driver for the guest OS (windows) and a layer to communicate the VM with the graphics driver on your Linux kernel.
How would I go about creating this additional layer? Do you have any refrences where I can read up more on the process of creating an additional layer?