Make set_color take multiple colors, and choose the best supported one

As suggested in #1323
Clean up vared error message output

Fixes #1323