SkLeanWindows.h: #include "Windows.h" fewer places

    $ git grep -l '<windows.h>' include src
    include/private/SkLeanWindows.h

    $ git grep -l SkLeanWindows.h | grep '\.h$'
    include/ports/SkTypeface_win.h
    include/utils/win/SkHRESULT.h
    include/utils/win/SkTScopedComPtr.h
    include/views/SkEvent.h
    src/core/SkMathPriv.h
    src/ports/SkTypeface_win_dw.h
    src/utils/SkThreadUtils_win.h
    src/utils/win/SkWGL.h

The same for  `#include <intrin.h>` that was found in SkMath.h.
Those functions that needed it are moved to SkMathPriv.h.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002

CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng

Review-Url: https://codereview.chromium.org/2041943002
diff --git a/src/utils/SkTextureCompressor.cpp b/src/utils/SkTextureCompressor.cpp
index e308f6e..086214e 100644
--- a/src/utils/SkTextureCompressor.cpp
+++ b/src/utils/SkTextureCompressor.cpp
@@ -14,6 +14,7 @@
 #include "SkBitmapProcShader.h"
 #include "SkData.h"
 #include "SkEndian.h"
+#include "SkMathPriv.h"
 #include "SkOpts.h"
 
 #ifndef SK_IGNORE_ETC1_SUPPORT
diff --git a/src/utils/SkTextureCompressor_ASTC.cpp b/src/utils/SkTextureCompressor_ASTC.cpp
index 02f4f17..8a96b91 100644
--- a/src/utils/SkTextureCompressor_ASTC.cpp
+++ b/src/utils/SkTextureCompressor_ASTC.cpp
@@ -10,7 +10,7 @@
 
 #include "SkBlitter.h"
 #include "SkEndian.h"
-#include "SkMath.h"
+#include "SkMathPriv.h"
 
 // This table contains the weight values for each texel. This is used in determining
 // how to convert a 12x12 grid of alpha values into a 6x5 grid of index values. Since
diff --git a/src/utils/SkThreadUtils_win.h b/src/utils/SkThreadUtils_win.h
index 51b32fa..b1de481 100644
--- a/src/utils/SkThreadUtils_win.h
+++ b/src/utils/SkThreadUtils_win.h
@@ -8,8 +8,7 @@
 #ifndef SkThreadUtils_WinData_DEFINED
 #define SkThreadUtils_WinData_DEFINED
 
-#include "SkTypes.h"
-
+#include "SkLeanWindows.h"
 #include "SkThreadUtils.h"
 
 class SkThread_WinData : SkNoncopyable {
diff --git a/src/utils/win/SkAutoCoInitialize.cpp b/src/utils/win/SkAutoCoInitialize.cpp
index 3b7b42b..f6da67d 100644
--- a/src/utils/win/SkAutoCoInitialize.cpp
+++ b/src/utils/win/SkAutoCoInitialize.cpp
@@ -8,12 +8,11 @@
 #include "SkTypes.h"
 #if defined(SK_BUILD_FOR_WIN32)
 
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <ole2.h>
 #include "SkAutoCoInitialize.h"
 
+#include <objbase.h>
+#include <winerror.h>
+
 SkAutoCoInitialize::SkAutoCoInitialize() :
     fHR(
         CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)
diff --git a/src/utils/win/SkIStream.cpp b/src/utils/win/SkIStream.cpp
index ad9bf05..560a947 100644
--- a/src/utils/win/SkIStream.cpp
+++ b/src/utils/win/SkIStream.cpp
@@ -8,9 +8,6 @@
 #include "SkTypes.h"
 #if defined(SK_BUILD_FOR_WIN32)
 
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <ole2.h>
 #include "SkIStream.h"
 #include "SkStream.h"
 
diff --git a/src/utils/win/SkWGL.h b/src/utils/win/SkWGL.h
index ebd95e7..3799377 100644
--- a/src/utils/win/SkWGL.h
+++ b/src/utils/win/SkWGL.h
@@ -10,6 +10,8 @@
 #ifndef SkWGL_DEFINED
 #define SkWGL_DEFINED
 
+#include "SkLeanWindows.h"
+
 /**
  * Working with WGL extensions can be a pain. Among the reasons is that You must
  * have a GL context to get the proc addresses, but you want to use the procs to
@@ -22,16 +24,6 @@
  * an extension.
  */
 
-#if !defined(WIN32_LEAN_AND_MEAN)
-    #define WIN32_LEAN_AND_MEAN
-    #define SK_LOCAL_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#if defined(SK_LOCAL_LEAN_AND_MEAN)
-    #undef WIN32_LEAN_AND_MEAN
-    #undef SK_LOCAL_LEAN_AND_MEAN
-#endif
-
 #define SK_WGL_DRAW_TO_WINDOW                       0x2001
 #define SK_WGL_ACCELERATION                         0x2003
 #define SK_WGL_SUPPORT_OPENGL                       0x2010