WIP: wrap_c: add func_rewriter callback

This patch allows wrap_c users to rewrite function expressions before they're written to file.

For example,

```
function func_rewriter(e::Expr)
    for a in e.args[1].args[2:end]
        if a.args[2] == :Cint
            a.args[2] = :Integer
        end
    end
    e
end

context = wrap_c.init(func_rewriter=func_rewriter, ...)
wrap_c.wrap_c_headers(context, headers)
```

results in the following change to the wrapper

```diff
-function func(i::Cint)
+function func(i::Integer)
     ccall((:func,libexample),Cint,(Cint,),i)
 end
```