Some fixes as to Fuco1's advices on #6
Rewrite with a better architecture proposed by Fuco1 on #6.

Allow user to customize skeleton-complete with his own skeleton
extracter, matcher, and buffer-filter.