fix tinymce + javascript templating problems

we need to escape content going into the textarea from which tinymce is
initialized, because it is unescaped during that initialization process.

fixes CNVS-11928
fixes CNVS-10690

test plan:
- with assignment, discussion topic, and wiki page editing: (it's probably safe
  to do a deep regression with just one of these pages and a more surface level
  regression with the other two)
- before checking out this commit, create some interesting content (videos,
  math embeds, and other rich content with a mixture of markup and content)
- also create some very long content
- finally, create some content that explicitly has the text "<HELLO>" (or
  really anything directly between two angle brackets)
- check out the commit
- go back to edit these pages
- the content that is populated into tinymce should be exactly the content that
  you originally wrote. it should not be truncated, and it should not strip out
  content that looks like <HELLO>

Change-Id: Icc93f4b7c6493037e0dc192d304208eaff8b9852
Reviewed-on: https://gerrit.instructure.com/32237
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>