Added JSHint to help look for bugs

JSHint reports a few errors, not unmanageable:

    $ jshint .
    benchmark.js: line 9, col 17, Missing '()' invoking a constructor.
    benchmark.js: line 14, col 28, Missing '()' invoking a constructor.

    ejs.js: line 8, col 7, Comma warnings can be turned off with 'laxcomma'.
    ejs.js: line 7, col 33, Bad line breaking before ','.
    ejs.js: line 20, col 16, Bad line breaking before ','.
    ejs.js: line 21, col 22, Bad line breaking before ','.
    ejs.js: line 24, col 7, Bad line breaking before '||'.
    ejs.js: line 25, col 7, Bad line breaking before '||'.
    ejs.js: line 36, col 34, Bad line breaking before ','.
    ejs.js: line 63, col 30, Bad line breaking before ','.
    ejs.js: line 108, col 33, Bad line breaking before ','.
    ejs.js: line 109, col 28, Bad line breaking before ','.
    ejs.js: line 114, col 2, Unnecessary semicolon.
    ejs.js: line 128, col 29, Bad line breaking before ','.
    ejs.js: line 129, col 37, Bad line breaking before ','.
    ejs.js: line 136, col 7, Bad line breaking before '+'.
    ejs.js: line 137, col 7, Bad line breaking before '+'.
    ejs.js: line 138, col 7, Bad line breaking before '+'.
    ejs.js: line 144, col 5, Bad line breaking before '+'.
    ejs.js: line 145, col 5, Bad line breaking before '+'.
    ejs.js: line 146, col 5, Bad line breaking before '+'.
    ejs.js: line 160, col 15, 'options' is already defined.
    ejs.js: line 160, col 29, Bad line breaking before ','.
    ejs.js: line 161, col 46, Bad line breaking before ','.
    ejs.js: line 165, col 7, Bad line breaking before ','.
    ejs.js: line 166, col 7, Bad line breaking before ','.
    ejs.js: line 175, col 23, Missing semicolon.
    ejs.js: line 194, col 37, Bad line breaking before ','.
    ejs.js: line 195, col 36, Bad line breaking before ','.
    ejs.js: line 196, col 19, Bad line breaking before ','.
    ejs.js: line 243, col 33, Bad line breaking before ','.
    ejs.js: line 245, col 9, Bad line breaking before '?'.
    ejs.js: line 260, col 24, The Function constructor is a form of eval.
    ejs.js: line 263, col 4, Missing semicolon.
    ejs.js: line 286, col 7, Bad line breaking before ','.
    ejs.js: line 287, col 15, 'options' is already defined.
    ejs.js: line 299, col 20, The '__proto__' property is deprecated.
    ejs.js: line 323, col 7, Bad line breaking before '?'.
    ejs.js: line 485, col 11, 'str' is already defined.
    ejs.js: line 485, col 23, Bad line breaking before ','.
    ejs.js: line 504, col 5, Bad line breaking before '?'.
    ejs.js: line 514, col 5, Bad line breaking before '?'.
    ejs.js: line 534, col 5, Bad line breaking before '?'.
    ...
    test\ejs.js: line 233, col 5, Missing semicolon.
    test\ejs.js: line 234, col 3, Missing semicolon.
    test\ejs.js: line 234, col 3, Too many errors. (96% scanned).

    171 errors

I don't know enough about ejs's coding conventions to refactor these, so I thought I'd leave it up to you to resolve. Just a heads up.