I purchased an X-Armor U9BL-S after deciding to upgrade to a mechanical keyboard from my well-worn and well-loved G15 rev1. I liked the mx brown switches and clean layout, combined with backlighting, audio passthrough and integrated USB hub. I *didn't* like the loss of the G15 features, namely macro support and the LCD.
Stock U9BL-S keyboard:

So, I decided to replace the controller on the U9BL-S with one of my own design and to roll my own macro support, ideally built right in to the keyboard to make it OS-independent. Since I was going to this trouble already, I decided to additionally rewire the keyboard to allow me to individually control each LED (they're normally all linked together in parallel and are only brightness-variable as a group). I'm calling this controller Dashkey and it is general-purpose enough that it could be used as a drop-in replacement for any mechanical keyboard (maybe others too with changes to the debouncing) with up to an 8x16 matrix with only a few code changes for the layout (and anti-ghosting if it's not NKRO). Since it's in-place programmable code updates are easily possible down the road. The keyboard is currently subject to normal 6KRO+modifier limitations of a standard USB keyboard, but could be extended further through a custom USB HID descriptor (which would break boot keyboard support).
My very professional development laboratory (ie: my desk):

The basic hardware for the modification is housed on two PCBs; the mainboard contains an Atmel AVR ATMEGA32U2 usb-enabled microcontroller and an SPI-interfaced STP16CP05 shift register (LED sink) chip. Along with some passive support components, this comprises the basic keyboard portion of the mod and interfaces with the existing key matrix and USB to make the keyboard actually behave like a keyboard. The second board is an LED driver board located on the back of the keyboard's PCB; this is interfaced to the mainboard with some ribbon cable carrying SPI data, and has a couple more STP16CP05 drivers to drive the rewired LED matrix.
Mainboard:

LED Driver:

A clean shot of the PCB just beneath the LED indicators (top right), showing the stock layout:

Desoldering the LEDs to make space for the replacement controller board:

Desoldering the stock controller (and now-useless [strike]MOSFET[/strike] PNP LED driver) to access the keyboard matrix pins: (thanks The Solutor!)

Starting to wire in the replacement controller:

Taping and orienting the key matrix wiring:

Main PCB installation completed:

The whole setup is built on home-etched single-layer PCBs and hand-assembled, then wired in to the keyboard. I programmed the keyboard using WinAVR and Eclipse on my Win7 system, and leveraged the fantastic
LUFA library for the low-level USB functions.
A couple copies of the mainboard, etched:

The current state is that the basic keyboard functionality (including media key support) works flawlessly, and the LED lighting is also fully functional and working great as well. I have yet to implement macro support (I'm now deciding between emulating a G15 and using Logitech's existing software or making my own more-limited version run on the keyboard directly) but once that's done the keyboard will be effectively complete.
I'm pretty happy with the result, and am considering making/modifying other keyboards and selling them; if I was to do this, I would likely produce a whole PCB replacement for the keyboard instead, as the labour required to rewire the LED system is very high (takes me 2-3 days of solid work per keyboard).
Cutting traces with a razor. Had to do this roughly 150-200 times.

Starting to rewire the back of the PCB:

LED matrix wiring completed:

LED driver board installed, with even *more* wiring:

If you would be interested in purchasing such a keyboard (U9BL-S with backlight control and macro support) I would probably have to sell them for around $300 including the keyboard fully modified; if this appeals to you please let me know in the thread so I can gauge interest.
I've made a video showcasing the currently supported LED lighting modes; since it's programmable, these can easily be changed/upgraded down the road.
[video=youtube;rk6tVsFcBrE]http://www.youtube.com/watch?v=rk6tVsFcBrE[/video]