JavaScript function to preserve bullets, numbering, code blocks and blockquote syntax and indentation upon new line in textareas