Add support for `flatten` and `background`


#### flatten()

Flatten transparent images before processing. Defaults background color to black. Use `background` to set the background color.

#### background(color) or background(r, g, b)

Set the background color when flattening transparent images using `flatten`. Pass any valid CSS color as `color` or numbers in the range of `[0, 255]` for `r`, `g`, and `b`.

You should be able to repro by running `node-gyp rebuild && node ./tests/flatten-non-transparent.js ` in the root of your `sharp` clone.