I notice you have "versioning" on your todo list.
I would personally implement that similar to how GitHub handles Gists: make each snippet a DVCS repo with 1 or more files in it.
That provides both the versioning functionality, and opens up the possibility for client-side editing using a well-known model (clone repo, make changes, commit, push).