Improved snippets API

* Add support for `${N}` tabstops (like in TextMate and Sublime Text)
* Provide generic `insert(text)` method in snippets package so package authors can easily reuse snippets logic when inserting new data into editor: `require('snippets').insert('my ${1:snippet}')`
* Moved prefix selection outside `SnippetsExpansion` class, fixes #14