Awesome! Also, a couple of enhancement ideas:
1) It would be great if the R1, G1, B1, R2, G2, B2 pins could be specified as part of the constructor for the Photon implementation. A specific conflict I have at the moment is trying to use I2C concurrently with the library. I2C, of course, uses D0 & D1 (which are currently fixed as R1/G1 by the library). Changing these in the library to, for example, D7 and DAC, allows me to use I2C at the same time. But would be nice if I didn't have to hack the library!
2) Since the RGBMATRIX library chews up so many GPIO pins, I've found myself short of pins for other critical functions (even after some heavy multiplexing). As a result, I've experimented with eliminating the use of the OE pin from the RGBMATRIX library to reclaim one pin. Simply tying that low (always enabled) on the display seems to work. I'm not able to observe problems/glitches on the display with some limited testing. The library code uses OE to "Disable LED output during row/plane switchover" -- so I was fearing I might see some sort of garbage. But didn't. I'm not actually sure what "row/plane switchover" is, but are there cases where I might see problems? If not (at least on the Photon), it would be awesome if yet another option could be to omit the use of the OE pin (just assume that it has been wired always enabled).
Anyway, just a couple of ideas to ponder while you're in the code....