Implement a `FillWithBlur` method for `box-shadow`

This seems to allow us to achieve the correct behavior cleanly. I've only implemented this in the Skia backend for now, where it ought to be GPU accelerated if Skia supports that (via `SkShader`).

r? @SimonSapin