notcurses is probably the best option for getting the best you can out of a random terminal (see https://github.com/dankamongmen/notcurses/blob/master/TERMIN... which details the status of most terminals people use), but the main thing is to choose a decent terminal that meets your needs. I personally use xterm (after using various other terminals, both "modern" and VTE-based), as I'm on Linux, and I need to connect to various devices (e.g. networking gear) where I need a reliable terminal that handles whatever those devices throw at it. The graphical mechanisms that work for me therefore are sixel and tektronic.
notcurses is probably the best option for getting the best you can out of a random terminal (see https://github.com/dankamongmen/notcurses/blob/master/TERMIN... which details the status of most terminals people use), but the main thing is to choose a decent terminal that meets your needs. I personally use xterm (after using various other terminals, both "modern" and VTE-based), as I'm on Linux, and I need to connect to various devices (e.g. networking gear) where I need a reliable terminal that handles whatever those devices throw at it. The graphical mechanisms that work for me therefore are sixel and tektronic.
Running the included notcurses-demo on any half-modern terminal is really impressive:
https://www.youtube.com/watch?v=b4lmMADP1lA