Add libjpeg-turbo library (depends on yasm)
Mangle external function names to avoid conflict with libjpeg
Take advantage of direct color conversion (RGBA, BGRA, 565)
Prepare to use jpeg_skip_scanlines (when it is upstreamed)

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/b60c3f8291529303299262dba19b1a896060bd2d

Committed: https://skia.googlesource.com/skia/+/f8bf9181d7b0463c8e371755cfbb9ece90b34fc5

Review URL: https://codereview.chromium.org/1180983002
diff --git a/src/codec/SkJpegDecoderMgr.cpp b/src/codec/SkJpegDecoderMgr.cpp
index f0ed452..b5a1229 100644
--- a/src/codec/SkJpegDecoderMgr.cpp
+++ b/src/codec/SkJpegDecoderMgr.cpp
@@ -39,22 +39,9 @@
 
 SkColorType JpegDecoderMgr::getColorType() {
     switch (fDInfo.jpeg_color_space) {
-        case JCS_CMYK:
-        case JCS_YCCK:
-            // libjpeg cannot convert from CMYK or YCCK to RGB.
-            // Here, we ask libjpeg to give us CMYK samples back and
-            // we will later manually convert them to RGB.
-            fDInfo.out_color_space = JCS_CMYK;
-            return kN32_SkColorType;
         case JCS_GRAYSCALE:
-            fDInfo.out_color_space = JCS_GRAYSCALE;
             return kGray_8_SkColorType;
         default:
-#ifdef ANDROID_RGB
-            fDInfo.out_color_space = JCS_RGBA_8888;
-#else
-            fDInfo.out_color_space = JCS_RGB;
-#endif
             return kN32_SkColorType;
     }
 }
@@ -64,7 +51,7 @@
     , fInit(false)
 {
     // Error manager must be set before any calls to libjeg in order to handle failures
-    fDInfo.err = jpeg_std_error(&fErrorMgr);
+    fDInfo.err = turbo_jpeg_std_error(&fErrorMgr);
     fErrorMgr.error_exit = skjpeg_err_exit;
 }