Support CSS3 rgb(a) and hsl(a) color notation

The 'color' rule, and by extension 'four_notation_color' too,
only understood #rrggbb and named colors. Extend it to match
rgb[a](...) and hsl[a](...) syntaxes as well.

This makes usage of rgb(a)/hsl(a) syntax in declarations like
'border-color: a b c d;' be interpreted and flipped correctly.

Inspired by a patch from Bartosz Dziewoński to the PHP-port of
CSSJanus that ships with MediaWiki:
* https://github.com/wikimedia/mediawiki-core/blob/1.23.3/includes/libs/CSSJanus.php
* https://github.com/wikimedia/mediawiki-core/commit/b5984db716
Flip text-shadow and box-shadow

Inspired by a patch from Bartosz Dziewoński to the PHP-port of
CSSJanus that ships with MediaWiki:
* https://github.com/wikimedia/mediawiki-core/blob/1.23.3/includes/libs/CSSJanus.php
* https://github.com/wikimedia/mediawiki-core/commit/511273dca1