Parser position symbols.

- The parser defined in parser.pegjs now saves pos: {start, end} to
each AST node, recording the range within the grammar covered by each
AST node. This will be used to generate debugging symbols later.
Makefile improvements

Added file dependencies to the makefile, so it’ll rebuild targets when
their sources change.