idn improvements
The IDN solution needs some revamping, and bug fixing:
* [x] the punycode domain should be used as the authority;
* [x] [idnx](https://github.com/HoneyryderChuck/idnx) should be used when available;
* [x] current native punycode module should be compared to [addressable's](https://github.com/sporkmonger/addressable/blob/main/lib/addressable/idna/native.rb);
issue