Reland "Add built-in functions as a Transform pass."

This reverts commit e9e06c11b7234a3e9e44bc73033aa64561c01fc2.

Reason for revert: $Precision issue is fixed in followup CL
http://review.skia.org/563123

Original change's description:
> Revert "Add built-in functions as a Transform pass."
>
> This reverts commit 7d62da53c9408208ce53d2f363dc2a59990d16e0.
>
> Reason for revert: breaking Graphite (referencing global variable `$Precision`)
>
> Original change's description:
> > Add built-in functions as a Transform pass.
> >
> > Previously, each FunctionDefinition contained a set which tracked all
> > of the built-in functions that it called--kind of like ProgramUsage,
> > on a function-by-function basis. This map was used to populate built-
> > in functions into the program.
> >
> > The map has been removed and now we scan usage.fCallCounts directly to
> > find and include calls into built-in functions. We continue scanning
> > and adding until we reach steady-state. We don't need to run a
> > ProgramVisitor over the code at all, or maintain any state in the
> > FunctionDefinition.
> >
> > Change-Id: Id722244533d19782af1f7dbffb2afa0585983a0d
> > Bug: skia:13587
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/562960
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:13587
> Change-Id: I2f25812becb3dd54657934994847e0073e7f677f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/563125
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Bug: skia:13587
Change-Id: I8470958f7d202ba926c85fae2dd82bad3edc2d84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/563126
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: John Stiles <johnstiles@google.com>
15 files changed