SkRemote: refactoring

  - Cache becomes CachingEncoder that wraps another Encoder
  - Encoders provide IDs
  - syntaxy improvements to Client
  - ID isn't really protocol sensitive.
  - I don't think we need Type::kNone.

No diffs.
https://gold.skia.org/search2?issue=1418863002&unt=true&query=source_type%3Dgm&master=false&include=true

BUG=skia:

Review URL: https://codereview.chromium.org/1418863002
4 files changed