16x16 LED question

So I have recently purchased a 16x16 led matrix from spark fun with 2 color leds. Ideally then of course i would want to be able to PWM each led to adjust colors and brightness. I read about the TLC5940 as a possible way to expand my pins, but I'm just wondering if there are any other better options available that i should know about before i place an order.

Also, to my understanding everything is multiplexed like no other. So if i wanted to turn on two led's i would have to turn the first on, then off, then the second one on, then off. Is this always going be the case? wouldn't i then always be achieving less brightness if more led's are on. I'm just wondering, since the whole flickering thing is a pain to program and if there's a better way id like to know.

I read about the TLC5940 as a possible way to expand my pins

This chip is great for single LEDs, multiplexing with it is a bit more tricky but I have done some software. However, I am not sure if it will stretch to 16 times multiplexing, I only used it at 4 times:- http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html

So if i wanted to turn on two led's i would have to turn the first on, then off, then the second one on, then off

No you turn the whole row on at once. Then the next row and so on.

wouldn't i then always be achieving less brightness

Yes multiplexing reduced the brightness, usually you put more current through the LED to compensate.

since the whole flickering thing is a pain to program

The trick is to program it so it doesn't flicker

if there's a better way id like to know

Off load the multiplexing to external hardware chips. Mind you they can be expensive and in surface mount only.

16x16 matrix? From Sparkfun? Where!?!?!