Populate SkRPDebugTrace fields from within RP codegen.

Now, a finished RP::Program will have a DebugTrace identifying
all of its named slots (but not the temp-stack), naming all of its
functions, and containing a copy of the SkSL input program. This
will allow us to emit a dump with identifiers in it.
(The logic here is extremely similar to SkVM code generation;
none of this was written from scratch.)

The contents of the debug trace were currently hand-checked, but
will soon be properly tested because they will be displayed in
program dumps.

Change-Id: I4d87705b9b18891f4983effa862c3d6c5c4fc9df
Bug: skia:13676
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/612330
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
6 files changed