Support lazy referencing

this PR would make the snowcrash able to recognize references which has been defined after the location of the usage. closes issue #84.
This is definitely the worst possible practice as you are over-shadowing the `sourceMap` parameter! Please fix and clarify @alikh31 @pksunkara