Fix bug where updateColor(Number) was a no-op
Expose getDefaultPalette & isValidPalette funcs
Expose pickerProto.updatePalette & refactor

After refactoring, the logic for generating the palette DOM elements is
now in its own function, separate from where event binding is done.
Add example with a toggling palette