Put back mostly-working ScreenToPoint