only show "submit part" button when answer is changed.

Issue #267 asks for some way of showing the student that the feedback they received for a previously submitted answer might not apply after they've changed their answer.
I'm not keen on hiding the feedback after the answer is changed, because it's still the recorded feedback until the student resubmits.
I thought about making the "submit part" button a bit more attention-grabbing when the answer changes, to prompt the student to submit, but in fact the button doesn't even need to be there the rest of the time.
This commit makes the button invisible until the student enters an answer, or changes a submitted answer.
fix submit button show/hide on gaps
Multiple response parts call isDirty

Forgot that they have their own storeAnswer method!

see #267
links open in new page by default

Unless it's already set, the target attribute for all links is set to `_blank`, so they open in a new tab/window.
Fixes numbas/editor#151
table background is white

fixes #268
remove question variables from scope when marking JME part

fixes #270
add display code for rowvector(...)

rendered as a pmatrix, like a single-row matrix(...) would be
For #269
make sure numberentry student answer is a string
update JSXGraph extension

The old method of inserting graphs in questions doesn't work with the new theme.
Instead, there's now a function Numbas.extensions.jsxgraph.makeBoard(width,height,options) which creates a div and inits a board in it. The JSXGraph Board object is in div.board.
This also updates jsxgraph to v0.97
Merge branch 'stable'
pass scope into custom javascript functions
trigger 'question-html-attached' event

Javascript functions don't get told which question they belong to, because of the way the scope system works. Additionally, the question HTML doesn't exist at the time the function is called.
To get round this, QuestionDisplay throws an event 'question-html-attached' to the document root once it has finished creating the HTML and subbing in variables.
Functions can listen add hooks to listen to this event with `$(document).on('question-html-attached,function(event,question,questionDisplay){...})`, and do any bindings there.
fix stupid error in the previous commit

really should've checked it before pushing!
don't let JSXGraph take control of mathjax

Turns out the normal MathJax processor can grab the labels inside graphs as well.
IE fixes

VML doesn't like being moved in IE, so we now use JSXGraph's canvas renderer.
Change X-UA-Compatible string in the question theme to IE9.
'question-html-attached' event is now triggered on body, because IE can't trigger events on document.
JSXGraph triggers a board.fullUpdate when html is attached, so IE re-renders it.