Port CLI to click

  - [x] Color codes need to be ported, should retain compatibility with config values
  - [x] https://github.com/mitsuhiko/click/issues/200 -- fixed in version 3.1
  - [x] https://github.com/mitsuhiko/click/issues/201  -- fixed in 3.2
  - [x] https://github.com/mitsuhiko/click/issues/205  -- fixed in 3.2
  - [x] Write tests

Notes:

* Color codes are largely compatible, but they have different escape sequences.

* We depend on click 3.2