Add return-processor

Like arg-processor, group return value processing related code together.
Remove array length from translator

Conceptually, translator is only about type itself, array-length
should be argument related concept.
Separate pointer converter

And share converter for some type.
Add general converter cache

So that only one converter instance is needed for each general
converter type.
Merge converter into translator

Reduce one layer.  And translator can be shared if corresponding
converter can be shared.
Re-implement object/struct constructor return type fixing

Pass the return value interface info-ffi to build-function, use that
for return value type instead.
Merge pull request #44 from hying-caritas/converter-translator

Share converter, merge converter into translator and reimplement object/struct constructor fixing