Add FunctionDefinition::Convert for creating function definitions.

A few nice properties fall out of this:
- IntrinsicSets become an implementation detail that most code never has
  to think about.
- The dehydrated data is marginally smaller because it no longer needs
  to store the IntrinsicSet array; it's re-derived when the
  FunctionDefinition is created via Convert.

finalizeFunction is largely unnecessary now, but it still had one
lingering use; it appends the sk_Position fixup to the end of main()
when compiling a vertex program. Added appendRTAdjustFixupToVertexMain
to IRGenerator to handle this case. This could be done in Convert as
well if the RTAdjust fields weren't buried inside of the IRGenerator.

Change-Id: I7451ea9c64112a376ad36902d36c29a9cf147504
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442817
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
12 files changed