Add new extensible API to Palette

The buckets are now abstracted into a Target
class, with an associated Builder to allow the
creation of custom targets.

Change-Id: I654a081cef0e836cb867098fc9634eaca5aaf37b
4 files changed