Preserve syntax error line and column numbers when available

Modern versions of CoffeeScript include line and column numbers with syntax errors. However due to how ExecJS serializes exceptions, this metadata is lost – only the exception message is returned.

This pull request uses a wrapper function to include the line and column information in the exception message, preserving it for programmers who might otherwise be pulling their hair out.

Looks like this is happening here:

https://github.com/niallsmart/ruby-coffee-script/blob/preserve-location/lib/coffee_script.rb#L64

Do you mean we should check if `options.filename` is undefined and if so just generate an error message like `3:11: unexpected unless`?