The recast print utility prefers double quotes by default,
this may fail many users' eslint check, so we have to implement a
detection utility to tell if double quotes are actually needed.
Template literals are also converted to string literals, to make things
easier for future iterations.