draw gradient directly into cairo surface