Expose IsSolidColor and write units tests

AnalysisRaster was needed because we must run the analysis on a separate
thread.  My second attempt placed the analysis in the picturepileimpl,
but, as vmpstr predicted, this caused issues when software rasterizing
since it uses yet another thread.  The way around all of this was to
write another raster function without the:
  DCHECK(raster_thread_checker_.CalledOnValidThread());

We're calling the Analysis before any synchronization occures with impl
so it should be safe to call without the check.

BUG=396908

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

Cr-Commit-Position: refs/heads/master@{#292044}
5 files changed