I worked on this idea probably 4 years ago -- I have no idea what I've done with the code but it never worked well for me. I had to manually create a white ink layer in Photoshop (convert image to greyscale and ramp up the midtones so you had almost all "black" where you wanted heavy white ink.
I actually was thinking a year ago about using GutenPrint strictly to output ESC/P2 data and then having a secondary RIP sitting there reading that data and adding the necessary first pass for white ink. THAT wouldn't be that trick since the ESC/P2 data is pretty easy to read once you've gotten used to it.
With the ESC/P2 data you can duplicate the printer raw data from say channels 1-4 (CMYK) and convert them all to channels 5-8 while dropping any pure black colors if it's a black shirt. I bet it would work relatively decently for a simple RIP but the white ink performance would be poor compared to what I was doing (bumping the midtones up).