To some extent I hate the idea of dynamic lighting implemented as a library in DM. Dynamic lighting should be handled primarily on the client. The developer writes some code that marks objects as being light sources, the server tells the client about the light sources, and the client renders the shading accordingly. To implement this as a library you need to create objects that graphically show the shading and update them all, then send the updates about the icon_state changes to clients to have them update how the shading looks.
I said that I hate this idea to some extent because I don't hate it enough to not implement it. I've posted the first version of a dynamic lighting library.
There are plenty of features that could be added. This is just the first version. I'm trying to provide basic functionality and keep it as simple as possible. To make a mob be a light source you just need to do this:
mob
Login()
..()
src.light = new(src, 3)
And later on you can modify the light by calling the light object's on(), off(), toggle(), or radius() procs.