Retain type hints when constructing a composed function

This is useful if code you are passing a composed function to inspects the function with reflection to determine which parameters to pass to the function.

An example would be the controller resolver in the Symfony HttpKernel through which Silex tries to inject the Application or the Request object if a type hint exists. So with this patch it becomes possible to use composed functions as callbacks for Silex routes.

Long live eval.