Changed API Class to accept closures as the error_function

[`function_exists`][function_exists] can only accept a string. I wanted to pass a variable containing an anonymous function (or closure) as is possible with newer versions of PHP - example: 

```php
$foo = function($msg) { echo $msg; }; 
function caller($callable, $arg) {
    $callable($arg);
}
```

[`is_callable`][is_callable] allows for checking both strings as a function name (just like `function_exists`), but also checks for closures, now allowing us to use them. 

[function_exists]: http://php.net/manual/en/function.function-exists.php
[is_callable]: http://php.net/manual/en/function.is-callable.php