rewriting algorithms with visitors (done!)


at last, I fixed the performance regression which affected simple_humanoid with the visitors (see the last commit).

With this pull request, I hope to close #27.