fix broken GValue setters and make setter methods public

I suggest paying attention to warnings printed by GTK, in my experience they almost always indicate bugs.