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?
Had some time to play around with this (rather than just hoping/guessing). Turns out that these code paths are just not hot enough to trigger v8 optimizations anyway. So, I'm going to kill this outside try/catch.