don't copy pixels when converting to cairo surface, saves another 100ms