This makes GTreeView able to support multi-column models! Only one column can be the "tree column", this is column 0 by default but can be changed by overriding GModel::tree_column().
Almost everything in GTableView moves up to GAbstractColumnView. This is in preparation for sharing a base class between GTableView and GTreeView :^)