I'm currently working on one, but it may be a little while yet before it's ready for release. I'm coding a game to go along with it so I can decide what capabilities I want to include (and also to give example code and show what it can do).