Split GrFragmentProcessor into its own header

Review URL: https://codereview.chromium.org/660573002
JPEG YUV Decoding

Enabling JPEG YUV Decoding in Skia

BUG=skia:3005, skia:1674

Review URL: https://codereview.chromium.org/399683007
Some cleanup in processor header files.

R=joshualitt@google.com

Review URL: https://codereview.chromium.org/659803004
More effect->processor cleanup

R=joshualitt@google.com

Review URL: https://codereview.chromium.org/660563003
Whitespace change to confirm Google Storage uploads are working

BUG=skia:
TBR=
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/657083004
Revert of JPEG YUV Decoding (patchset #5 id:180001 of https://codereview.chromium.org/399683007/)

Reason for revert:
Caused many test bots to go red:
http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Alex-GMA3150-x86-Release/builds/22/steps/dm/logs/stdio
http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Link-HD4000-x86_64-Debug/builds/168/steps/dm/logs/stdio
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/38/steps/dm/logs/stdio

Original issue's description:
> JPEG YUV Decoding
>
> Enabling JPEG YUV Decoding in Skia
>
> BUG=skia:3005, skia:1674
>
> Committed: https://skia.googlesource.com/skia/+/8e6c3b93a39e19111662a760ede97df55e51d39f

TBR=reed@google.com,scroggo@google.com,sugoi@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:3005, skia:1674

Review URL: https://codereview.chromium.org/656163002
Remove unused NeedsDeepCopy.

It was used to check to see if an SkPaint had mutable fields on it.
Now that all the fields are immutable, this function is no longer
used. Remove it.

BUG=skia:2097

Review URL: https://codereview.chromium.org/661543002
Adds a GrTRecorder class that GrInOrderDrawBuffer uses to allocate
all its commands interleaved in contiguous memory. GrTRecorder also
supports extra data associated with objects, so we can store arrays
inline without having to call malloc().

Committed: https://skia.googlesource.com/skia/+/360b6801cfd90485891d709e44cf395d527ba69e

Review URL: https://codereview.chromium.org/628453002
webtry: Check the result of os.Chdir().

As mentioned in http://golang.org/doc/effective_go.html#blank_assign,
errors are provided for a reason, so always check them.

The documentation for this function is available at
http://golang.org/pkg/os/#Chdir.

BUG=None
TEST=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/651343002
Move willUseInputColor check to computeInvariantOutput

BUG=skia:

Review URL: https://codereview.chromium.org/656503002
Don't use 'defined' in macro expansion.

A careful reading of the preprocessor specification indicates that
any use of the 'defined' operator outside the form of 'defined X' or
'defined ( X )' directly in the constant expression of a '#if' or
'#elif' may cause undefined behavior.

In particular, msvc is very unpredictable. The 'defined X' and
'defined ( X )' forms behave differently when created from marco
expansion, with 'defined ( X )' generally evaluating to '0L'. The
'defined X' form generally behaves more the way one would expect,
but still has a number of quirks which should simply be considered
undefined behavior.

BUG=chromium:419245

Review URL: https://codereview.chromium.org/657183002
Treat (private, internal) grid bounds as doubly-inclusive in SkTileGrid.

The net effect is that two "+1" instructions are removed from insert().
search() nets no change: two +1 removed, two +1 added.

When vectorized, this removes the need to add in userToGrid() at all and
so the need to read an awkward {0, 0, 1, 1} constant from memory.  Mostly
the benefit is less vector code to look at and think about.

BUG=skia:

Review URL: https://codereview.chromium.org/659823004