I've implemented GUI consoles in CSRSS, see attached screenshot. If you do nothing special, you're still launched into a text-mode console, the blue screen we all know and love. If you rename /ReactOS/system32/drivers/blue.sys to blue.sys.save you will be launched into a graphical console.
There are still loads of problems. The biggest is that keyboard focus is not restored when a program exits. So, from the GUI console you can start e.g. winhello, but when you close winhello you won't be able to type anything else in the console window. Activating windows by clicking on them is also not implemented yet. You can't close a graphical console by clicking on the "X", it doesn't know how to terminate the processes running inside it yet.
The console code is a bit of a mess and needs to be cleaned up, it's also one of the worst offenders with respect to indenting.
Gé van Geldorp.