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?
it gets more slow when within try/catch lots of stuff declared/created/accessed ... but not in this case, its just 1 function call