contour_demo problem

John,
When running coutour_demo.py with the Cairo backend I get:
  File "matplotlib/figure.py", line 338, in draw
    for a in self.axes: a.draw(renderer)
  File "matplotlib/axes.py", line 1307, in draw
    self.legend_.draw(renderer)
  File "matplotlib/legend.py", line 181, in draw
    h.draw(renderer)
  File "matplotlib/lines.py", line 266, in draw
    gc.set_foreground(self._color) # problem
  File "/matplotlib/backends/backend_cairo.py", line 421, in set_foreground
    self.ctx.set_rgb_color(*self._rgb)
TypeError: Context.set_rgb_color() takes exactly 3 arguments (4 given)

It looks to like the frontend (lines.py) is working with rgba colors
and passing the rgba color to the backend which is expecting rgb color.

colors.colorConverter.to_rgb(fg) is also a problem because for rgba input
it returns rgba not rgb.

One solution would be to change the last lines of colorConverter.to_rgb(fg)
from
        self.cache[arg] = color
        return color
to
  color = color[0:3]
        self.cache[arg] = color
        return color
To ensure that to_rgb() actually gives rgb and not rgba.
What do you think?
Steve