md2d renderer: jshint cleanup: allow functions in loops
add experiment controller

Interactives can now optionally have an experiment section
in their definition.

This is a first step towards simplifying the definitions for
the two new inquiry example Interactives:

- 2-pendulum-simple1.json
- 3-pendulum-simple-180.json

The experiment controller automatically adds:

1. experimentState parameters
2. experimentState button actions
3. optionally extends the model onLoad script with script run on model reset

I've also added a setAction() to the ButtonController.