Push startOffset upstream

 * Instead of chopping off what we've already parsed from the source
   and passing in a new string, provide an option to pegjs to start
   parsing at `startOffset`.

 * For now, this uses a fork of pegjs while we attempt to upstream the
   changes.

Change-Id: Id9875786ee224816991b888c1a2e43c231f26425