If a token is given, the location in the code of that token
is also passed to the Node instance
If no token is passed, a dummy-token with the current
lexer's offset and line is created
Notice that nodes are expando-objects, you can add properties on-the-fly
and retrieve them as an array later