Revert "Drop unused shader support for sample variables"

This restores support for sample variables and improves on the
original API.

A test will come once we restore support for sample locations.

Bug: skia:
Change-Id: I350cc08477c532a13ff7acdd8055c0aa65c51d26
Reviewed-on: https://skia-review.googlesource.com/c/195720
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
8 files changed