For multicolor use you might look at a TLC5940NT. Serial in, 16 channels of 12 bit PWM out. I'd tell you how they work with Arduinos, but my order got messed up, canceled, and now everyone is out of stock until more are made on April 18th.
This is more expensive than the binary matrix method, about $0.25 per channel in small quantities, but its a pretty slick part