Pass filename for string based contexts from options.filename

I had a problem with [Uglifyify](https://github.com/hughsk/uglifyify) that some errors didn't have correct file names visible -- but there still was line, column and position there and it was really hard to find where was the real problem. 

I've fixed the problem below by 

* Not ignoring `filename` argument at `js_error()`
* Passing on `options.filename` for string based contexts

I'll create a pull request for uglifyify next.