Create internal functions from scratch & clone into them in GatewayFunctions.

Direct calls to the original function are changed throughout the module to
refer to the internal function. Function pointers etc. go through the gateway,
effectively starting a new chain of signatures for the duration of the call.
Remove "readnone"/"readonly" attributes from all instrumented functions.
Merge pull request #31 from hermannloose/function-pointer-workaround

Change gateway construction to allow ignoring function pointers for now.