code: function csprintf (baseColor, str)
  {
    /*jshint unused:false */
    str = exports.sprintf.apply (null, [].slice.call (arguments, 1));
    str = str.replace (/<(\w+)>([\s\S]*?)<\/\1>/g, function (m, m1, m2)
    {
      if (m1 === 'bold' || m1 === 'underline')
        m2 = m2[baseColor];
      return '±' + m2[m1] + '§';
    });
    str = str.replace (/^([\s\S]*?)±|§([\s\S]*?)±|§([\s\S]*?)$/g, function (m, m1, m2, m3)
    {
      var s = m1 || (m2 || '') || (m3 || '');
      return s ? s[baseColor] : s;
    });
    return str[baseColor];
  }
docs: ------------------------------------------------------------------------------ PRIVATE ------------------------------------------------------------------------------ 
  Colorized sprintf.
  Formats a string with color and injects values into placeholders.
  Placeholders are represented by the symbol %.
  To colorize, use markup with the syntax: <code>&lt;color_name>text&lt;/color_name></code>
  Warning: do not nest color tags!
  
  Variable arguments: {...string|...number} - values for each placeholder in <code>str</code>.
  
  @param {string} baseColor The base color for the string. Segments with other colors will resume the base color where
  they end.
  @param {string} str The string to be formatted.
  @returns {string}