function.lisp: Split interface translators
function.lisp: Add interface translator cache

With this, only one translator is needed for each object/struct class.
function.lisp: Split array translator

To make it easier to add more array type in the future.
Merge pull request #45 from hying-caritas/interface-translator-cache

Interface translator cache