Make sure gears.color.create_png_pattern are being repeated
Add gears.color.apply_mask

This function allow any icons to be converted to either a single color/flat
one or used to apply a gradient/pattern.

This also add a new beautiful option for config who share a single mask.
The second fallback color is to prevent errors.
Move 'surface_size' to gears.surface and make it public
Add 'desaturate' and 'tint' to gears.surface

This can then be used in rc.lua to have different shade of theme
with the same icons or to desaturate minimized clients in the
Radical tasklist widget.
Add a surface composition function

The syntax can look a little bit non-trivial, but in fact
it is very flexible and powerful.
Merge branch 'master' into colors_v1
Merge remote-tracking branch 'real/master' into colors_v1
Merge branch 'colors_v1' into layouts_v1