Nice work Jarv!
I'm a first year computer science major and I received a small research grant from USC to build something very similar to your visualizer. I submitted a parts list to the school three months ago that included a BlinkM MaxM, a Lucite case, and an arduino mega. I was blown away when I found this thread!
The only way my project differs is that I'm going to calculate frequency/pitch of the incoming analog audio signal and have the BlinkMs flash for certain notes. I'm trying to make it all standalone, so all of the processing is done on the arduino. I've more or less given up on using an FFT.... a lot of people have done it, but it's over my head right now. I'm not concerned about getting the exact frequency, I just want to hit the general ball park. I'm thinking about using part of Tony Chi's guitar tuner code to find the frequency. I just need it to be fast and somewhat accurate.
I just wanted to say thanks for posting your code. It was very helpful to analyze it and see what was happening.