Allow lexer to be used independently of the parser

Presently, if you run the following code, it will throw an error:

```js
var tokenizer = new (require('narcissus').lexer.Tokenizer)('foo()');
tokenizer.get();
```

This is because the lexer is looking for a reference to an instance of a parser. This pull request makes it so that the lexer does not rely on the parser to function, allowing tools to parse and lex code separately.

This could be worked around by inserting something like this:

```js
tokenizer.parser = {mozillaMode: false, x: {}};
```
...but that's pretty jank and this fixes the root of the issue.