cairo context/surface accessors, with_pass functor