I am the author of the ShiftPWM library and I just updated the documentation to include schematics and a lot more general info for normal LED's, LED strips and high power LED's.
You probably already started your project, but since this page gets a lot of visitors, I'd still like to provide a detailed answer.
If you want to control 500 LED's with ShiftPWM, you can get about 64 brightness levels per LED at 60 Hz. You would use 64 shift registers. Dedicated hardware PWM drivers will give you more brightness levels, but will be a bit more expensive. I think the main advantage of my library is ease of use, because it includes RGB and HSV functions and a lot of examples.
I would personally go for the TLC5916 of TLC5917 instead of normal shift registers, because they have a built in constant current LED driver. This will save you a lot of soldering, because you don't need resistors.
On my website ( http://www.elcojacobs.com/shiftpwm ) I have more info on how to connect the LED's and how to deal with driving the long signal wires with the Arduino at high speeds.
If you have any more questions, please ask.
First, a safety warning
25 IR LEDs at 100 mA each will be a LOT of IR radiation. If they're close together, your pupils are dilated (indoors, this is often true), and/or you're close to the matrix, you could really hurt your eyes.
The image of the matrix will be focused to a tiny area on your retina, and you'll hear/feel a little pop as the blood and fluid there boils. You'll have a permanent blind spot. Not fun. BTW, it's your job to make sure that you understand what you're doing and don't hurt yourself, not mine. I'll help you begin understanding, but I won't be held responsible.
My advice: For development (and production if possible), put bright green LEDs in series and physically close to the IR LEDs so that your blink reflex is activated at a bare minimum. Use hardware (in addition to software) techniques to limit the number of LEDs lit and/or the power delivered to the matrix to help ensure that only one LED is on at a time.
Techniques
There are many LED driving techniques. None of them hinge on delivering 1.35V; that will change between LED batches, over time, and with temperature.
If you're just interested in current limiting, a few transistors will be sufficient. The total transistor count will depend on your choice of a current limiting circuit topology, which is dependent on your heat sinking capabilities, routing area, and other contstraints. There are also voltage/current regulation ICs and linear LED drivers which would simplify your job. If you're interested in power conservation, many buck converters can be configured for current limiting, which would maximize your battery life.
You may want to have unlimited sink and limited source (or vice versa). Alternatively, you might have just one current source, and mux it between the various LEDs. Because of the safety issues inherent in this project, I'd recommend the latter option.
Best Answer
A few choices:
You can use shift-registers such as HC595 to drive individual LEDs, one resistor in series with each. Needs only 4 port pins from your MCU, but n resistor and n/8 (rounded up) chips. It would be static drive.
You can use individually addressable RGB(W) LEDs and add color to your project. Still only a few port pins. Libraries are available for this purpose.
You could build row and common drivers and multiplex the LEDs fast enough that they appear to be steady. Time-tested approach, works well. You could use (say) 8 column drivers and 8 row drivers to control 64 LEDs.
Personally, for a hobby project, I would probably pick door #2.