Transformer: Formal Mode

Summary:
Adds two options to the transformer widget: graph mode and
transformation list mode. These control whether each is (a) editable by
the student, (b) responds to updates from the other, or (c) does not
update.

The main change here is an editable transformation list when list mode
is set to "interactive". Editing the values in the transformation list
will change those transformations in-place in the list, modifying the
graph if the graph mode is either "interactive" or "dynamic".

If the graph mode is "interactive", the tool bar will use the previous
toggle functionality, enabling a graphical transformation tool on the
graph. If not, the tool bar will add a no-op transformation to the
transformation list, which can be edited if the list mode is
"interactive".

Setting neither mode to interactive doesn't make good questions, but is
not prohibited.

Test Plan:
Visit test.html, set graph mode to dynamic and transformation list mode
to interactive. Solve the problem and make sure it grades as correct.

Save the json into test.html, and make sure that loading the problem
sets the graph mode and transformation list mode correctly.

Reviewers: alex

Reviewed By: alex

CC: alpert

Differential Revision: http://phabricator.khanacademy.org/D5194