Vignette transformation

This PR lands support for the vignette transformation.
See example attached. Documentation should provide necessary information.

![vignette](https://cloud.githubusercontent.com/assets/48200/4895050/819e4bf6-63e0-11e4-8cc9-1dcfd1acafcc.png)

Move typecasting to float before max() to ensure $scale _always_ is a float and not alternating between float and int, depending on the scale? Most likely no real-world implications, but math and floats sometimes works in very unpredictable ways :) The type set here will also propagate all the way through the following math.