Upgrade TinyMCE to 4.0.20 and replaced tabbed HTML editor

This branch came from #3103. It reorders commits and combines all the commits related to switching to TinyMCE 4.0.20.

This PR continues #2657. We had 2 issues that we needed to resolve in order for TinyMCE to work on the LMS instructor page (bulk e-mail) in our production environment (which uses the Cloudfront CDN). Note that we do not host the static files on Cloudfront for Studio, which is why this bug was only an issue for LMS.

1. TinyMCE was dynamically loading its skin and plugin files. This bypassed our hashed files that are produced by our static file pipeline. In addition to the fact that incorrect files could be returned if any of these files are subsequently edited (until the CDN cache expires), this issue meant we weren't using the hashed font file. On Firefox, font files from a different origin can't be used unless something is put into their headers to allow the access-- and that change had only been made to the hashed files, as produced in our pipeline. Hence, toolbar icons (which come from the font file) were not displaying on Firefox. Note that the annotations usage of TinyMCE exhibits this bug currently in production.

2. The codemirror plugin for TinyMCE was attempting to access JavaScript variables from different origins. When running on the CDN, the codemirror plugin is running on Cloudfront, but the frame holding TinyMCE is on our courses.edx.org server. Communication between the codemirror iframe and the frame hosting TinyMCE most happen through postMessage, instead of direct access to JavaScript variables.

This PR corrects these 2 issues and also upgrades us to the most recent version of TinyMCE (4.0.20).