source-view: add push-snippet and pop-snippet signals.

This will allow us to hook into the snippet context from the editor tab,
which is where things like filename should be owned.
source-view: remove filename variable knowledge from source-view.
document: remove unneeded properties and funcs from document.

This stuff will live outside of the document, in the editor tab using
newer GtkSourceView components like GtkSourceFile.