Add (optional) support for GObject types

In order to use Graphene from GObject-based libraries and applications
we need to expose its types through the GType type system. We don't want
to strongly depend on it, though, so we allow the user to conditionally
include the type definitions in their code, or to disable support
entirely (for size-constrained build targets).

In order to use the GType for each type exposed by Graphene client code
must:

  • check for the presence of the graphene-gobject-1.0 pkg-config file
  • include <graphene-gobject.h> instead of <graphene.h>

Since Graphene is meant to be a GNOME-friendly library, we default to
support GObject types out of the box, and we allow building without
those symbols only through a specific configure switch.