<｜begin▁of▁sentence｜>### Instruction:
Given a Cairo drawing context, how can you use the CairoPolygonDrawer's __init__ method from igraph's drawing module to initialize a new polygon drawer for drawing polygons on the context?
### Response:
from igraph.drawing import CairoPolygonDrawer
import cairo

# Setup Cairo surface and context
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
context = cairo.Context(surface)

# Initialize the CairoPolygonDrawer
drawer = CairoPolygonDrawer(context)

# Draw a polygon using the drawer
points = [(10, 10), (100, 10), (100, 100), (10, 100)]
drawer.draw(points)

# Save the surface to a file
surface.write_to_png('polygon.png')
<|EOT|>
