No more 'string is not a function' errors

This introduces a wrapper around function calls that passes in a statically determined name for the object that was attempted to be called. If the object doesn't resolve before we try to evaluate it, we throw a friendly error.