Buttonize XKCD references.
circe-color-nicks.el: Overhaul how colors are picked.

Instead of picking random numbers and seeing if they're appropriate,
pre-compute a pool of colors that are appropriate and also distinct
from each other.  Exhaust this pool, then every time a new color is
needed, pick the color that least recently appeared on screen (save
timestamps within the nick->color mapping).

Also did some general cleanup.
circe-color-nicks.el (circe-nick-color-pick-least-recent): fix
circe-color-nicks.el: Use color->timestamp table.
circe-color-nicks.el: Add my-message color difference, and do overall
improvements to the code.
circe-color-nicks.el: Generate color pool after startup.
circe-color-nicks.el: Generally overhaul the way we handle colors:
pass around RGB and L*a*b* formats in addition to name to save
repeated computation, avoid the eventual call to the slow
`tty-color-approximate' function by getting colors directly
from (tty-color-alist) in advance.
circe-color-nicks.el: Improve the way color pool is first filled.  It
would break when one started Emacs in daemon mode; this is safer and
even simpler.