This value is only needed in a GUI dialog which has all the data it needs to compute it. This removes some coupling between the GUI, transaction.py and coinchooser.py
As a result, methods in coinchooser.py no longer need to forward the dust_threshold constant to each other.
Add typehints and docstrings, and fix comments on touched functions. Remove a couple of debbuging prints.
Note that the unused dust_threshold parameter in CoinChooser.change_amounts is a relic of the original Electrum codebase which has a dust amount value that depends on the network congestion.
Depends on D14420