Migrate base syntax groups to color variables

This covers all of the stuff under `:help w18`.  The UI chrome parts will be
harder, as there's a lot more one-offs and this function-calling style makes
those a bit more difficult.

The colors for the Nomral group will now toggle white/black based on the value
of &background.  Note that for `&background == 'dark'` it will use regular white
on a darker black background and when light will use lighter black on regular
white.

The GUI colors for `Constant` and linked groups were varying shades of
darkgreen, instead of the yellow they were grouped under, while the cterm values
were still darkyellow.  I have set these to the shade of dark yellow I chose for
the iTerm version of pencil, for the sake of consistency.  Changing these would
be easy, so long as they are consistent.
align color definitions

- a few of them weren't really defined correctly across gui/cterm
- using color names for cterm is unreliable; better to use codes
reorder uichrome based on `:help hitest.vim`
Visual, VisualNOS, fix blues & add light grey

I had the alignments of blue/dark blue/light blue wrong :/
Converted easy UI Chrome colors to variables

Mostly greys, but some yellow as well.
Merge pull request #3 from mattly/light-dark-switch

Programmifiying the colors