Support gint * mutable parameters with wrapper

A parameter of type gint * may now be passed as an object with a mutable
value field:
  object {
    var value is readable, writable := 0
  }
The value of that field will be unpacked, stored in a local int, and
then be updated with the new value of that int after the external
function has been called.
Add support for GdkScreen and its methods
Update PNG viewer demo to scale by screen size