Das mit den Demultiplexern ist auch eine interessante Idee.

Es kommt halt darauf an, wie ich multiplexe: ob ich nacheinader die 15 Zeilen ("Ebenen") durchgehe und jeweils (bis zu) 25 LEDs einschalte, oder umgekehrt die 25 Spalten ("Säulen") durchgehe und jeweils (bis zu) 15 LEDs einschalte. Im letzteren Fall leuchten zwar weniger LEDs gleichzeitig, aber dafür auch mit einem Verhältnis von 1:25, wodurch man vermutlich wieder genauso viel Strom braucht.

Hinzu kommt aber noch ein Punkt, warum ich glaube, dass eigentlich nur der zweite Fall Sinn macht. Die 3 LEDs einer RGB-LED haben 1 gemeinsame Anode (bzw. Kathode) aber dennoch verscheidene Durchlassspannungen - man braucht also pro RGB-LED nicht 1 sondern 3 Widerstände an den Kathoden (bzw. Anoden). Korrigiert mich bitte, wenn dem nicht so ist - dann erübrigt sich das Folgende.
Nun brauche ich natürlich nicht 375 Widerstände sondern nur so viele, wie gleichzeitig LEDs an sind. Wenn ich zum Multiplexen nacheinander die 25 Spalten durchge, brauche ich 15 Widerstände, für jede Zeile einen. Aber mechanisch sind es ja nur 5 Eben mit je 3 Farben. Anders herum geht das aber nicht, denn 25 / 3 geht nicht auf.
Ist ein bischen schwierig zu erklären, vielleicht hilft ein Blick in meine Schaltung oben. Bei der Schaltung wie sie so ist würde ich nicht so multiplexen wie Besserwessi meinte, denn dann würden ja immer 25 LEDs über 1 Widerstand laufen.

So oder so - man braucht einen Treiber der ein paar mA aushält. Der UDN2981 und ULN2803 schaffen 500mA, richtig? Aber heißt das insgesamt oder pro Pin? Aus den Datenblättern bin ich nicht schlauer geworden.