Since I use common-anode LEDs and constant current sink driver chips,
the multiplexing must be done with "high side" switches.
First I tried to use TIP-125/127 PNP darlingtons,
but I decided to go with p-channel MOSFETs instead to have less voltage drop.
The best choices for me were the Fairchild NDP6020P and Sanyo 2SJ655.
However, any "logic level" p-channel MOSFET capable of switching around 2 Amps should be fine.
For switching the MOSFETs I use a 74HC138, where you can use three GPIO pins of the Pi to switch between 1 out of 8 outputs.
This means that it's kind of impossible to turn on all segments at once by mistake
(due to a bug in the player for example), which in the worst case could damage something.
Additionally I connected E3 to another GPIO pin to be able to switch off all segments at once.
In combination with the WS drivers, this turned out to be useful because of the 600 us delay between clocking in the data and when the data is latched to the outputs:
When building up a small multiplexing prototype,
I noticed some "ghosting" or "color bleeding" effects
when multiplexing at high "frame rates".
When displaying a test picture where all LEDs of just one segment are on,
all the other LEDs seemed to "glow" a bit, mostly in a green shade.
The solution for this issue was to put a 10k resistor between each MOSFET Drain and GND.