Improved function call performance

Hi, another change for method call performance. Some unnecessary time was spent in Function#invoke(Class returnType, Object[] inArgs, Map options). The method looked up the method object and the parameter types, although this information is already available, when invoking the method from Library$Handler#invoke(Object proxy, Method method, Object[] inArgs). So I refactored both classes a bit so that no unnecessary work is done. In my tests function calls are now measurably faster and produce fewer objects (->less garbage).