Wrap sax in trycatch

Resolves #112 by wrapping calls to sax's write and end methods in a try/catch. If we catch an exception, we trigger the exception on the sax parser -- from where it would have originated had the parser been catching parse errors.

This is not complete. The error-handling is currently suboptimal, as it will trigger an error and then never end parsing without user intervention (see L#58 in the test). So, I'm considering making `this.push(null)` automatic.

@kof @alltom Any thoughts?
did I miss something? how is this a v8 optimization? I am keen to learn.