Auto Typography

This function converts text, making it typographically correct:
- Converts double spaces into paragraphs.
- Converts single line breaks into <br /> tags
- Converts single and double quotes into correctly facing curly quote entities.
- Converts three dots into ellipsis.
- Converts double dashes into em-dashes.
- Converts two spaces into entities

@param string  $str
@param boolean $reduce_linebreaks whether to reduce more then two consecutive newlines to two

@return string