loader: report parse error filename and line/column position.

* lib/specl.in (slurp): Pass filename to load function.
* lib/specl/loader (load): New filename parameter. Use it to
call...
(Parser): ...this constructor.  Also initialise line and column
marker.
(parser_mt:parse): Update line and column mark for each new event.
(parser_mt:error): New metamethod, raise an error with parser
filename, line number and column number of erroneous event.
Update all error callers to use parser_mt:error wrapper instead.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>