JME part: add support for expected variable names

see numbas/Numbas#280
add flag to toggle check for expected variable names

The check for expected variable names is only done when the "Warn if student uses an unexpected variable name" box is ticked.
When it is ticked, an empty list of expected variables means that any variable will trigger the warning. (this is different from before, when an empty list would mean the check wasn't done at all)

see #280
update jme-display.js
fix htmlparser to allow hyphens in attribute names
don't let TinyMCE mess up HTML
Merge branch 'master' into stable