I don't understand WTF Espressif's intentions were with giving the ESP32 three UARTs, but then - for the majority of usage scenarios - making all of them but one
unusable. You can't use UART1 because those pins are all taken by flash. You can't realistically dedicate UART0 to other purposes because you need that for programming and debug output. And for UART2, only RX/TX are usable on WROOM modules (not WROVER, because of PSRAM), with RTS/CTS also being nixed by flash.

So, what's a guy to do if he has an ESP32-based project where essentially
all the pins are already in use, but would like to try and squeeze out the use of a UART for something like RS-485?
I have two main questions:
1. Could there be some way of sharing UART0? I am imagining perhaps a mux/switch/buffer that under control of another GPIO switches the RX/TX (and maybe RTS) between the programming/debug header and the RS-485 transceiver.
2. If so, is it possible with the ESP-IDF framework to share UART0 in this manner? By default all log/trace 'console' output is directed there, but can you dynamically switch that off then back again?