Keep track of source files as well as line numbers.

    This makes our error messages better *AND* makes it easier to
    provide good debug info later.