bpo-33839: refactor IDLE's tooltips & calltips, add docstrings and tests (GH-7683)


* make CallTip and ToolTip sub-classes of a common abstract base class
* remove ListboxToolTip (unused and ugly)
* greatly increase test coverage
* tested on Windows, Linux and macOS
(cherry picked from commit 87e59ac11ee074b0dc1bc864c74fac0660b27f6e)

Co-authored-by: Tal Einat <taleinat+github@gmail.com>
7 files changed