Fix styles specified as arrays instead of as CSS strings

The function array_merge_recursive_unique() seems broken, as it did not produce the expected result. Replace it by the native function array_replace_recursive (requires PHP 5.3.0).