Allow creating custom tree models
@gcampagna
Submitted by Giovanni Campagna Link to original bug (#700643)
Description
I don't know why, because the treemodel API is definitely not JS friendly, but apparently developers would like to build GtkTreeModels in JS, without extending or wrapping ListStore/TreeStore. (https://live.gnome.org/NikitaChuraev/GlaringGjsApiIssues)
AFAIK, the only thing blocking it is that GtkTreeIter does not have a constructor, and we prevent simple construction of structures with pointer fields. This is correct for complex pointer fields, as we cannot memory manage them, but for opaque pointers just having them always null should be fine.
I also prepared a patch that introduces marshalling of gpointer (so that you can use the rest of GtkTreeIter), but the more I look at it, the less I like it...