clean up DPI handling on plx::window

-Now we handle it in wm_create insted of nc_create
-We also handle wm_dpichanged.
Handle window creation size better

We call AdjustWindowRectEx and SetWindowPos so that the size of the
window have:
-client area is the actual cx and cy
-dpi is handled properly
VisualManager get a background visual and surface

so we can remove 1990's window frame next.