Add ANSI support to console logger

* Coloring is off by default because I could not think of a way to choose a default with `IO.ANSI.terminal?/1`
* Advanced coloring can be done by the formatter for `:console` backend because the formatter can return a value that is passed to `IO.ANSI.format/2` (chardata with ANSI atoms)
* `:console` backend does smart options merging so the old `:colors` options are not lost
Originally I had:
```elixir
[IO.ANSI.format_fragment(Map.fetch!(colors, level)), data | IO.ANSI.reset]
```
But considered that someone might want to return colors from their formatter. It is probably best not to traverse the list twice when this will be rare. Removing this does not prevent a formatter from using colors as it can call `IO.ANSI.format/2` itself - though it won't use the `:colors` :enabled` option.