Fix native codecs

Fix inflate.js error handling, according to nahidakbar in issue #101
inflate|deflate.js: report error by throwing Error.
Previously `Inflater.append()` seems return a negative number for error, but the client codes doesn't check the type of return values, so we get a wrong inflated content "-1" when inflating fails.

Throwing an error in `append()|flush()`  is supposed to work with PR #108, where `z-worker.js` catchs exceptions from `append()|flush()` and reports them via `message.error`.

However, currently we lack a `inflateerror|deflateerror` callback or something to report these errors to users, which also need to be improved.