TLC5940 and 74HC595 Shift Register

I was thinking of pulling from one of "Grumpy Mike's" monome projects he had posted on his website (Mini Monome).

His schematic (located halfway down the page, and downloadable in pdf) shows him using TCP6108 MOSFETS for the rows triggered by the Arduino pins (I think?)... To quote:

"The TLC5940 controls the LEDs by means of a current sink, that is, it pulls the LED to earth. Therefore, in order to multiplex it we have to connect four cathodes, one on each row, to the input of the driver chip and the other end of the LEDs have to be pulled up to 5V when it is time to light up that row. This can be done with a p-channel FET, when it’s gate is a 5V then the FET is off or high resistance, when the gate is at earth then it is turned on, or has a very low resistance. The Arduino drives these FETs by pulling one low at any one time."
Mike Cook

I must admit, my growing but rudimentary understanding of diagrams is slowing me in fully understanding his layout. I don't think I quite understand how the current is flowing here. These are common cathode RGB LED's, right? Where is the current flowing from? Is it Arduino Pin 15 - 18? I'm a little lost...

ps: Terry, thanks very much for you post! It's wonderful having you weigh in on the topic, as many of your enlightening postings all over the forum have been integral in getting me this far.

Chris