Cache complex strings from LexicalUnit and StringInterpolation (#14619)

The current codebase will frequently invoke to String of the same
StringInterpolationSequence and printState of the same LexicalUnitImpl
over and over again (1.5 and 0.5 million times for my scss template).

Because those classes are immutable by design, the string version can be
cached and reused.

Change-Id: I29699d237ed56e4877cfa0ef3e219977a906e5ec