Port SkTextureCompression opts to SkOpts

Pretty vanilla translation.  I cleaned up who calls whom a little.
Used to be utils -> opts -> utils, now it's just utils -> opts.

I may follow up with a pass over the NEON code for readability
and to clean up dead code.

This turns on NEON A8->R11EAC conversion for ARMv8.
Unit tests which now hit the NEON code still pass.
I can't find any related bench.

BUG=skia:4117

Review URL: https://codereview.chromium.org/1273103002
diff --git a/src/core/SkOpts.h b/src/core/SkOpts.h
index dad16b9..206b7ff 100644
--- a/src/core/SkOpts.h
+++ b/src/core/SkOpts.h
@@ -8,6 +8,7 @@
 #ifndef SkOpts_DEFINED
 #define SkOpts_DEFINED
 
+#include "SkTextureCompressor.h"
 #include "SkTypes.h"
 #include "SkXfermode.h"
 
@@ -36,6 +37,12 @@
 
     typedef void (*Morph)(const SkPMColor*, SkPMColor*, int, int, int, int, int);
     extern Morph dilate_x, dilate_y, erode_x, erode_y;
+
+    typedef bool (*TextureCompressor)(uint8_t* dst, const uint8_t* src,
+                                      int width, int height, size_t rowBytes);
+    extern TextureCompressor (*texture_compressor)(SkColorType, SkTextureCompressor::Format);
+    extern bool (*fill_block_dimensions)(SkTextureCompressor::Format, int* x, int* y);
+
 }
 
 #endif//SkOpts_DEFINED