Light spectrum dispersion effect in Blender? I'm trying to achieve the effect where a beam of light sent through a prism or other refractive object, separates out into the light spectrum. (See image below)



This effect is especially useful to have when modeling gemstones, since the 'sparkle' of colors produced by this effect adds a lot of realism to the model.

It does not seem possible to get Cycles to produce this effect, since Cycles handles each ray of light as only a single, one-colored ray. Is there any way to coax Cycles (or any other render engine) into treating light as a full spectrum? Is this kind of treatment of light even possible in Blender?
It is fake-able to some extent in cycles, see some of these results:
http://www.blendernation.com/2012/04/05/cycles-diamond-dispersion/
http://www.blendernation.com/2012/09/04/cycles-dispersion-glass-shader/
One technique I know of is to use multiple Glass shaders with different IOR values
A quick setup:

Low sample result:

(Not that great, but the closest method I know of..)
Luxrender is an open source unbiased bi-directional rendering engine with blender integration (and GPU rendering support via OpenCL) and is capable of this.
Some examples:
http://mitsuma.deviantart.com/art/LuxRender-Prism-198927185
https://www.youtube.com/watch?feature=player_detailpage&amp;v=kIX5WL07Uss#t=15s
Luxrender (technically SmallLuxGPU, an early version of luxrender with GPU support)
https://www.youtube.com/watch?feature=player_detailpage&amp;v=jk-N4f9ze4k#t=82s
Yafaray is another open source render engine with blender integration that supports both biased and unbiased techniques, and also seems to handle this well.
http://www.youtube.com/watch?v=RVHYMq8NEEs