Line information + UMD

This pull request is mostly about adding line information to the tokenizer,
which in turn adds it to the parser.

It is opt-in, as in, it only appears with {loc:true} set in the options.

I also added a commit to use UMD, in order to:
1. avoid leaking so many variables in the global object
2. support not only node and browser JS, but also AMD

The tests still pass fine.