Refactor Palette generation to use a Builder

This will help us long term if we add more settings/
options to the generation. I've added
an extension point which allows app's to supply their
own Generator to pick out the colors.

Change-Id: I1caf18741a5231e4ede7396f6c9e3293b45ddcfc
3 files changed