Updated gradient element handling to create only single gradient element per unique fill

The resultant performance increase is almost three-fold.

<pre>
### Fill element with gradient - UNOPTIMISED
	┌───────────────────────────┐
	│  Safari (7.0.1) / Mac OS  │
	├───────────────────────────┤
	│  98.919  ±3.5%            │
	└───────────────────────────┘

### Fill element with gradient - OPTIMISED
	┌───────────────────────────┐
	│  Safari (7.0.1) / Mac OS  │
	├───────────────────────────┤
	│  207.173  ±0.9%           │
	└───────────────────────────┘
</pte>