s/feed/raw_feed/g, s/flush/raw_finish/g.
error causes use SendStr, eliminating most allocations.
eliminated EncodingUtil, simplified Trap interfaces.

this commit also makes informative methods to `Encoding` such as `name`
lifetime-independent, in order to avoid a generic type parameter in trap
interfaces. (it seems that `&'static Trait` is impossible to construct
in the current Rust, as it would require a corresponding vtable to be
static as well.) since traps are not intended to create a new `Encoder`
or `Decoder` instance, non-informative methods continue to require
static lifetime so `Encoding` still has to be static.
initial transition to {String,Byte}Writer.
new API, finally!

- introduced new error recovery semantics which closely matches
  with the WHATWG Encoding standard.
- raw incremental interface (which will become a low-level API once
  the high-level incremental interface lands) has seen API changes.
- testing codes have been simplified.
- WHATWG interface has temporarily disabled, will be replaced with
  a saner interface soon.
whatwg::encoding_from_label is now label::encoding_from_whatwg_label.
I don't want to put non-generated indices to index at all...
Encoder/Decoder instances are no longer required to be able to return an Encoding.
Text{En,De}coder are gone, Traps are now enum.
updated README.md for new API.