Extend the set of values accepted by set_property, which previously
required that value type and property type must match exactly, by
requiring only that it must be possible to transform value into the
Extend the set of errors that can be detected on the Rust side by using
g_param_value_validate to ensure that provided value is valid.
Avoid duplicating conversion work, by passing already converted value to
Fixes issue #307.