Host avatar and color chooser.

Should be feature complete.  Coming later:

* More clever way of storing the dashboard config without cockpitd.

Why is this called canvas.js? Is it going to be used elsewhere or be a generic canvas widget?