FakeReader: allow each channel's color to be specified separately

The 'color_x' keys (where x is the channel index) now set the color for
the specified channel.  These keys can be used with 'color', which acts
as a default value for any missing or invalid 'color_x' values.

Fixes #12423.