update npm dependencies and mml-parser

mml-parser: use more reliable: void[property] descendent

I was getting errors using cheerio when using selectors
like this where the initial object with the matching
property value was not found:

  $node.find("[property=fillMode] .java-awt-Color>int")

This form fixes the problem:

  $node.find("void[property=fillMode] .java-awt-Color>int")

Also fifth epsilon value is -0.1 not -5 ... uncovered when fixing mml-parser.
remove global model, change to common, md2d

energy2d needs a separate update because it doesn't
inherit from the common model controller
scriptingAPI loadModel: pass onLoadScript not function

The optional second argument to loadModel must now be
the string form of the onLoadScript -- not the actual
function object.

Example:

"action": "loadModel('npPulling', 'start();');"

However passing an onLoadScript this way won't cause start()
to be run when the reload() function is run.

Ao also fix the reset button action by adding start() actions
to onLoad handers in the models specification.

Now pulldown components use the loadModel attribute in
their definition instead of using "loadModel('<model-id>')"
in an action.
refactor common modelController to use ES5 getters
energy2d now extends common ModelController
fix modelController reload(), create reset()
update Mocha tests for model no longer being global
wip: export-controller-spec not working after rebase w/master