Implement storage for palette border, background and content for the data grid view states.
Inheritance: Storage, IPaletteTriple
        /// <summary>
        /// Initialize a new instance of the PaletteDataGridViewHeaders class.
        /// </summary>
        /// <param name="inherit">Source for inheriting values.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteDataGridViewHeaders(PaletteDataGridViewRedirect inherit,
                                          NeedPaintHandler needPaint)
        {
            Debug.Assert(inherit != null);

            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Create storage that maps onto the inherit instances
            _headerColumn = new PaletteDataGridViewTripleStates(inherit.HeaderColumn, needPaint);
            _headerRow    = new PaletteDataGridViewTripleStates(inherit.HeaderRow, needPaint);
        }
        /// <summary>
        /// Initialize a new instance of the PaletteDataGridViewCells class.
        /// </summary>
        /// <param name="inherit">Source for inheriting values.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteDataGridViewCells(PaletteDataGridViewRedirect inherit,
                                        NeedPaintHandler needPaint)
        {
            Debug.Assert(inherit != null);

            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Create storage that maps onto the inherit instances
            _dataCell = new PaletteDataGridViewTripleStates(inherit.DataCell, needPaint);
            _headerColumn = new PaletteDataGridViewTripleStates(inherit.HeaderColumn, needPaint);
            _headerRow = new PaletteDataGridViewTripleStates(inherit.HeaderRow, needPaint);
        }