Split palette code out of !ColorPalette, into _PaletteMixin, so that it can be used by the !SmileyPalette and !EntityPalette code too.
Split palette code out of !ColorPalette, into _PaletteMixin, so that it can be used by the !SmileyPalette and !EntityPalette code too.

Patch from Youngho Cho (thanks!), CLA on file, plus changes from me.

The big changes are:
   - Use <table> rather than absolutely positioned <div> and <span> nodes so that the entities palette will layout correctly regardless of the browser font size.  Sizing of <table> cells to line up with underlying !ColorPalette image achieved via CSS rather than hardcoded value in JS (_paletteDims).
   - Each palette (DOMNode) cell has an associated JS object implementing the dijit.Dye interface
   
Fixes #10561 !strict.

git-svn-id: 674a2d6b1e32e53f607eb824547723f32280967e@21098 560b804f-0ae3-0310-86f3-f6aa0a117693

Sam-Cummins/delite,kitsonk/delite,Sam-Cummins/delite,harbalk/delite,kitsonk/delite,harbalk/delite