Let's try to share more code with dialog -- especially sizing, frame
painting and positioning with dialog. This means a bit of rewiring, but
should result in more lazy-loaded, shared objects.
The idea is to have at most one window, which is recycled for all
tooltips, making it possible to animate transitions.