Nice! Hope aliaspider will implement your code!
There's one showstopper: if the currently running application still has a handle to gsp::Lcd when the home button is pressed (in other words, if the application is "using" the Lcd service), the console will freeze. So at the moment, the best way to handle turning the backlight on and off seems to be getting the handle (a.k.a. asking for the Lcd service), turning it on/off immediately, then closing the handle (a.k.a. giving it back to the 3DS OS). With most services, you don't have to worry about that, but with Lcd, you do.
Edit: This also means that turning the backlight off completely will only work on 9.2 and below. You
can poke the registers directly like I did some pages back (which should work on any firmware), but it's not worth it.
Edit 2: I've had the bottom screen off for over 10 minutes now without it randomly coming back on, so I think gsp::Lcd is the clear winner here..