Added declarable types
Added macro and template to wrap QVariants as pointers