Charset converter

Implements BoGoEngine/ibus-bogo-python#65.

*NOTE*
Since this branch is based upon `lewtds/ibus-bogo-python/refactor`, there are a lot of duplicated commits against `BoGoEngine/ibus-bogo-python/develop`. Until `refactor` is merged (BoGoEngine/ibus-bogo-python#64), you should only read from 4c3955a onward.