avoid arguments.callee, implement self-calling constructor

As [MDN docs](https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope/arguments/callee) say, `arguments.callee` is expensive, and forbidden in ECMAScript 5 strict mode, and should be avoided in favour of the function's name unless it's anonymous.

Ease of use would also benefit from using [John Resig's self-calling constructor](http://ejohn.org/blog/simple-class-instantiation/) interface, so that `new jParser(view, structure)` works exactly like `jParser(view, structure)` and `new` may be omitted if the module's user likes it that way.