Forward-declare dependencies in PipelineUtils.

This required a little cleanup inside SkSL, as we had a struct
nested inside of a class (Program::Interface) which needed to be
moved out to the top-level in order to allow forward declaration.

Bug: b/317363889
Bug: b/40045064
Change-Id: I63969ae5de6a04ab06a021ff437b74cb9820e8a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/793777
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Nicolette Prevost <nicolettep@google.com>
3 files changed