It bugs me that you mention these present tor limitations .. years ago I had a look into it to build an implementation in Java, and I got started on it, but eventually dropped it because at the time everyone was insanely paranoid of the subtle issues that can arise and I did not expect such a java implementation to be accepted back then. (I was probably right for that time.) And now I see this and I'm thinking, it would've been a great starting point if not a sufficient solution.