[FEATURE] Add 'shapeburst' fill style. 

Shapeburst fills implement a buffered gradient fill, where a gradient is drawn from the boundary of a polygon towards the polygon's centre. Configurable parameters include distance from the boundary to shade, use of color ramps or simple two color gradients, optional blurring of the fill and offsets. Includes sip bindings and tests.

I'd appreciate a review (and suggestions) from any of our c++ optimisation experts (@ahuarte47 @wonder-sk ) if there's any tips to speed up the renderer. The crucial parts of renderPolygon, distanceTransform, dtArrayToQImage and QgsSymbolLayerV2Utils::blurImageInPlace. It's currently not too bad, especially since mtr means there's no blocking while rendering, but I've got a feeling there's some optimisation which could still help.