Obtain reference to GVariant on creation

This is needed to avoid the variant data being clobbered when it is returned
from a closure. This problem only occured on 32-bit systems.
Move TODO to a clearer location