function flattenTokens(tokens, usesDtcg = false) {
  return _flattenTokens(tokens, usesDtcg);
}
Takes an plain javascript object and will make a flat array of all the leaf nodes.
A leaf node in this context has a 'value' property. Potentially refactor this to
be more generic.
@template {Token | TransformedToken} T
@template {Tokens | TransformedTokens} U
@param  {U} tokens - The plain object you want flattened into an array.
@param {boolean} [usesDtcg] - Whether or not tokens are using DTCG syntax.
@return {Array<T>}