Wow, it's been 2 years but i finally found time to work on it. Here it is: Here is the code on github.