[electrum] refactor text completion
Summary:
Move the text completion code from the paytoedit widget into its own class and module, so it can be reused for other widgets such as the seed editor.
This is a partial backport of electrum#4033
Test Plan:
python -m electrumabc_gui.qt.completion_text_edit
Run the application and check that auto-completion still works in the Pay-To field (add a few contacts to the wallet)
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D17568