Virtual Machines. That is the way to do it. You'd need to use a XEN Hypervisor for the kernel, a Linux Dom0 and two (or more) Windows DomUs. One of the guests would be running a low-latency vnc server (the one built into xen-qemu is fast enough, especially if you have the CPU horsepower for it) The remote machine then attaches using VNC or whatever protocol you choose to stream the video/input over. This is exactly how the cloud gaming service "OnLive" works. Instead of using VNC for their video streaming they use FFMPEG for video encoding using a vbr (likely OpenCL accelerated) encoder and a direct socket connection for input to my knowledge, but I haven't done the forensic probing on their servers to know for fact.
Another possible way to do this without the work of XEN and dedicating the VMs resources would be to hook up a second monitor (or a dummy plug) and set it to the resolution of his laptop, from there run a program that routes input devices to individual programs. And a low latency VNC service locally - His laptop would still connect the same way for input/video; but it would likely be a less seamless experience.
You may have to do a considerable amount of googling and research to set someting like this up - but "Multiseat" is what you are trying for using a thin client for the second seat.
Syrillian: Man, Legend, Meme.