ChunkFile: Add a DoArray overload which takes an std::array.

This is inconsistent with how other containers are used (i.e. with Do()), but making std::array be used with Do() seems rather confusing when there's also a DoArray available.
GPU: Only load the relevant color components upon writes to the tev color registers.

The other two components need not be valid upon write, hence loading them results in glitches.

Fixes issue 6783.
Merge pull request #1102 from neobrain/tevreg_loading

GPU: Only load the relevant color components upon writes to the tev color registers