Specify crate name to make rustdoc will work.
WIP: Separate wrapper.rs into some parts.
Split wrapper.rs into modules.

 * and refactor codegen.py