Add ScreenFromXY, tweak WindowMessenger