So, does it work? It seems so. I've tested the code with Xilinx and Altera devices, and while you need to be careful if you need to convert svfs into xsvfs, both kinds of devices get programmed fairly quickly. Here's a small demo:
The device flashed is a NC220-clone, a FPGA-based thin client. The main chip in it is a EP1C12Q240C8, a 12K LE Altera Cyclone. Total time from bootup to programmed FPGA is about 7 seconds.
And as usual, the source code for the AVR is relased under the GPL: you can download it here. I hope you find it useful.