colorfunc: change signature to allow for more advanced ColorFunc, such as gradients