I may take a look at Cursor in the next couple of weeks; I've been using it for a while, and it's really helpful, so if the code isn't too horrifying I might adopt it.
Anyone looking for an NPCScan replacement should check out
SilverDragon (WowAce link; WoWI page is outdated). Unlike NPCScan it isn't solely dependent on caching, so in many cases it can detect NPCs that are already cached. It has some integration with NPCScan.Overlay as well.