This reminds me I should try to make a bit more progress with trying to write an RDP display driver for Win9x... one of those things I thought of one day but never really got around to doing. (I'm sure there are existing solutions, but writing my own is half the fun --- and I've already written a generic VESA framebuffer.)
I like stuff like this in the same ways as car modding --- teaching an old dog new tricks.
I was actually inspired by that one, but it has some glaring deficiencies (like windowed DOS boxes corrupting the graphics state) that I wanted to fix; but only managed to do so, partially, before other things took priority.
The amount of code needed to get basic unaccelerated graphics working is surprisingly small; most of it has to do with detection and modeswitching. Once you set the mode, all you need to do is give Windows' GDI the appropriate framebuffer and related information (the structures are, not surprisingly, very similar to a BMP file header), and it will do all the rendering. Of course you can also hook into some of the drawing functions for some acceleration, but my testing with a relatively recent GPU and CPU showed that even unaccelerated 2D graphics is plenty fast for essentially everything but gaming. That's partly why I wanted to turn it into RDP --- which AFAIK is similar to GDI, but RPC'd over the network.
I like stuff like this in the same ways as car modding --- teaching an old dog new tricks.