Introduce a new snippets API.

The snippets plugins are now fully written in python.
Total completion time went from 0.220s to 0.160s.

I stole code from #250, and ported ultisnips (not tested yet) to the new API.