I have a lot of nicad batteries too, but they are all crap. Do have a ton of LI batteries and they work nice in these applications. You can buy Li charger boards for 35 cents each on ebay and small enough to build right in. Then just find an old 5V phone wall wart. Be aware that they use internal battery resistance to limit current to the LED, I'm just assuming that is the light source.
You can do about the same thing with nicad. They are more forgiving as far as over charge current. Just use a high enough value resistor to limit charge current to something safe. It will take longer to charge.