I had a thought I'd like to share. Because I'm not the kind of programmer to mess with this kind of complex stuff, so I'll just throw this out there and maybe someone picks up.
I played a little with Pico-8 and I love that graphics style. Low res and very easy to just put pixels on screen. But to make use of that display you need to embrace its whole engine. So I thought it could be fun to have something like a virtual display you can easily output from "any application".
OK, "any application" is an idealization. In practice this would be easier done with a 'mother engine' of sorts, to handle communication between devices. Then you could just send a command like PutPixel() and the main engine would try calling this at the selected device, if that device doesn't have this function it does nothing.
With that system in place you could code your own devices. Maybe a screen that has different colors and the user could switch them mid-game. Or maybe a screen that has the exact same functions as that other screen but interprets them completely different for interesting effects, like take every putpixel() and plays a sound.
Performance is obviously going to be low, but the fun factor of this system is experimenting with modules. People could make their own fantasy consoles the way they like and make little games for it. And they could play around with other projects by rearranging things, trying different screens or different input devices.
In my head this looks fun. If anyone makes it let me know! I'd give moral support and maybe a few bucks on a kickstarter