Add __numba__ interface to reveal python function object of a wrapped object.
Add test for tuple return;
Refactor tuple api
Use a loosely coupled way to get python function object