Javascript evaluation extracted into a reusable method.

`inputs` added to the context of all evaluations so conditions can refer to the values of other fields.

Javascript evaluation is now available on the `required` field property.