syntax: support setting initial line/col for scanner (#349)

The new FilePortion type, which may be provided to the scanner,
parser, or ExecFile functions, combines a piece of text along
with its start line/column numbers, for applications that
extract a Starlark expression from the middle of a larger file.

Fixes https://github.com/google/starlark-go/issues/346
diff --git a/syntax/parse.go b/syntax/parse.go
index 0281e4b..50b8087 100644
--- a/syntax/parse.go
+++ b/syntax/parse.go
@@ -28,7 +28,7 @@
 // If src != nil, ParseFile parses the source from src and the filename
 // is only used when recording position information.
 // The type of the argument for the src parameter must be string,
-// []byte, or io.Reader.
+// []byte, io.Reader, or FilePortion.
 // If src == nil, ParseFile parses the file specified by filename.
 func Parse(filename string, src interface{}, mode Mode) (f *File, err error) {
 	in, err := newScanner(filename, src, mode&RetainComments != 0)