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`.

@julianwa et al.: `vips_flatten` fails for JPEGs with error:

`linear: vector must have 1 or 2 elements`

I think it could be caused by me applying a background even though it last band isn’t an alpha channel:
http://www.vips.ecs.soton.ac.uk/supported/current/doc/html/libvips/libvips-conversion.html#vips-flatten

What do you think?