It's a tuple subclass, so can be used everywhere where it was used before.
In the documentation remove all the optional glyph array lengths, as they
are not strictly needed (one cas just pass slices) and just complicate things.
This adds a new Python type for each C level enum type.
The enum type is an int sublcass with its own repr implementation
to get something nice like cairo.Antialias.DEFAULT.
The module level constants are now aliases for the type attributes,
e.g. cairo.ANTIALIAS_DEFAULT == cairo.Antialias.DEFAULT.
This only adds the types and does not make function return them
(except in one case to see how it works). More work will follow
in the following commits.
Add Surface.set_mime_data(), Surface.get_mime_data(),
Surface.supports_mime_type(), HAS_MIME_SURFACE, MIME_TYPE_*.
set_mime_data() takes a buffer and keeps it alive.
get_mime_data() tries to return the same object.