GbDocumentManager: start on document manager to manage live buffers

The long term idea here is that all the open GtkTextBuffer's will be
managed by this. I think we may also add a generic document interface
so that things like glade documents can also be managed here. Not sure
yet though.

Then, we can attach this buffer manager to the combobox in the
GbTabStack. At that point, we can dynamically create GbEditorTab or
GbEditorFrame instances to the documents as needed. You can then just
display any document easily on any tab stack.
GbDocumentManager: add helper to locate buffer by name
language: auto indent in c header files
GbDocumentManager: add helper to get singleton instance.
source-view: thar be dragons
snippets: use function prefix based on filename
GbDocument: add simple document interface

The goal here is to have the "buffers" behind various tab implementations
implement this and then we can create widgets for them dynamically.
GbDocumentManager: use GbDocument interface
GbDocumentManager: set column types on init
GbDocument: add vfunc to create a tab for the document
GbTabStack: assign combobox model from gproperty
GbTabStack: allow model to be set after creation
GbTabGrid: add model gproperty to set documents model
documents: start importing document abstraction
document: use modified instead of can-save.
document: start on new editor layout using views
editor: use document grid from editor
util: import glib utils
ui: add new ui for document views
ui: add simple menu for splits