utf-8-codec が transcoder の error-handling-mode に対応

手抜き実装だった I/O のエラー通知の仕組みを実装。その上に utf-8-codec のエラー処理を載せてうまくいった。
将来的に MonaMosh を移植するので C++ の例外を使わない。 setjmp/longjmp を利用し TRY/CATCH マクロを書くなど涙ぐましい一面も。
さくさくと他の codec も同じようにエラー処理をしよう。

(test/exception i/o-decoding-error?
                (call-with-port (open-file-input-port "./test/invalid-utf8.txt"
                                                      (file-options no-truncate no-fail)
                                                      (buffer-mode none)
                                                      (make-transcoder (utf-8-codec) (native-eol-style) (error-handling-mode raise)))
                read-char))