Well, Luke seemed to like it. :)
Here it is with documentation, finally. (Full patch against CVS within the last hour.)
This is your last chance to tell me that you hate the algorithm/interface/idea and want it to be completely different! (Or more constructive suggestions -- I'm interested. :)
-bcd