SI-8507 Avoid lazy val in StringContext

This mild refactor eliminates the lazy val StringBuilder
and arguably makes the code easier to read.

There is a small unit test but no benchmark to prove
anything useful about performance. The ticket notes
contention due to lazy implementation.
Merge pull request #3761 from som-snytt/issue/8507-only

SI-8507 Avoid lazy val in StringContext