COMPILER: do not shadow name of function with function argument

fix https://github.com/ocsigen/js_of_ocaml/issues/48
this add constraint for both function declaration and function expression