Enable GrShaderCache for SkiaRenderer

Three main changes:

- base64 encode the key: Without this change, no shaders were written on
  gLinux workstation because we were failing on write at
  EntryImpl::DataSanityCheck(). base64 encoding is consistent with
  MemoryProgramCache. This change was not necessary for my Pixel 3
  (suggesting that keys generated there were fine and shader cache works
  form some of OOP-R Android).

- CreateClientCache sooner: SkiaRenderer can start up before a
  GpuChannel is created. This ensures that a shader cache is available
  when display compositor starts to create shaders.

- Turn on GrShaderCache for UseSkiaRender: SkiaRenderer will use this
  even if OOP-R is not turned on.

Change-Id: I855d0de3063c65f1d7e11a1c61ea0cd32c05efa4
Reviewed-on: https://chromium-review.googlesource.com/c/1425564
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624774}
4 files changed