Add scanner debug : line-by-line output

Add scanner debugging functionality to show a line before/after recent
newline character position when a newline character is found.

Other Cleanups

	Collect location variables newlinsPos and stuff into one struct
	Location

	Add scanner update() function that should be called every time
	a token is extracted. This function delegates to updateLocation().

	Add a scanner base constructor. Now all the other constructors call
	this base constructor for consistency of member initialization.