properties: use a boxed WpPropertiesItem type when iterating
This MR refactors the properties iterator so that the item GValue holds a boxed object instead of raw pointer, which is needed for JavaScript bindings.
Note that for the sake of consistency, this MR replaces both wp_properties_iterator_item_get_key
and wp_properties_iterator_item_get_value
APIs with wp_properties_item_get_value
and wp_properties_item_get_key
, breaking API compatibility. If we really don't want to break API/ABI, I don't mind updating the MR and keep the old API.
Fixes #42 (closed)