Provide more entry points into CairoImageSurface

Among other things, this allows one to avoid taking a transpose when
it's not needed.