Make completion a normal widget that is floating
Right now completion is a window which results in various issues with wayland vs X. Making it a widget simplifies our code a lot as we don't need to think about the window manager at all or do manual position tracking.
The widget is parented to the "window", for kate this means KateMainWindow and for other apps it will be the top level window in which the view lives. The reason it is parented to the window is because we still want to be able to use the entire space available to the mainWindow. This can be important if you are using splits as the view width will be much smaller.
This also fixes the blinking crap/dirty regions that results from completion widget.