I may be a bit late to the party, but quite a while back, I created a library for what I believe is the very purpose here:
LibPrism. Only have it on WowAce at the moment, though. Should probably do something about that.
Edit: Will show up on WoWInterface as well, once approved. Assuming, of course, it does not get rejected. Which I would find odd, but I suppose it could still happen regardless.
Edit 2: Just realized I uploaded the wrong package. It has since been repackaged with a fix for RGB gradients. Will reupload a proper one once I'm able.
Edit 3: Now on WoWInterface. Packager is creating a fresh package as I write this. Unless something goes wrong, it should be uploaded shortly.