Added painter and linear gradient
Updated fill / draw methods to use painter