Port soy (closure template) from v5 to v6

Hi could soy (closure template) be ported from v5 to v6 even if it’s added to legacy mode please.

Version 5-style modes that mix several languages, like the htmlmixed one that the Soy mode depends on, can unfortunately not be used with version 6’s StreamLanguage abstraction.