delay cast from NumbaFunctionObject* to PyObject*

I got some warnings when compiling `numbafunction.c`, which can be avoided by not casting to `PyObject*` before the return in `NumbaFunction_New`.

I also added a cast to the argument to `PyObject_GC_Track` -- that's not strictly necessary since current (2.7, 3.2) Python headers declare its argument as `void*`, but according to the [API docs](http://docs.python.org/2/c-api/gcsupport.html#PyObject_GC_Track), it should really be a `PyObject*`.