Seriously cleaned up the color picker.

- Displays directly inline (not underneath).
- Inserts text range correctly with eating semicolons, etc.
- Suppresses widget regeneration when the change originated from the
widget (duh!).
- TODO: fix positioning, make hideable (X when hover swatch again?)