Add support for custom debuggers
This PR adds a new option to the use MyApp.Endpoint macro which allows you to choose a custom debugger instead of the default Plug.Debugger debugger. For example, this is me running a custom debugger with a different logo and syntax highlighting:
Homepage; let's click the naughty link:

Oh, no! You've found a bug. Look at how the Elixir code is highlighted:

But we can go deeper; note that HEEX is also highlighted:

And finally, it supports Erlang too:

I also tried to add support for replaying requests and automatically setting breakpoints, but it turns out it didn't work that well (in the naïve way I've implemented it). It is the kind of thing you can implement with custom debuggers.
Note: the custom debugger logo is a ghost that eats bugs (of course!) and it's a modification of the default Phoenix logo. I think it's different enough for it not to be considered copyright infringement, but if you think it is, I can replace it by something else.