Simplified extern C functions

Also stopped registering them in context.user.  Before that, each attempt at lowering the function would try to register it to context.user which would cause an AssertionError because it is a UniqueDict.