Refactor gi struct lookup
obj: the first class takes care of everything, no need to pass args
Don't leak gvalues on object init
handle invalid properties