Allow call any function/method outside the extension's scope on addWidget

This modification is simple. It allows the developer to add functions as callable to widgets.

In my project I created a complex extension and moved logic outside the extensions class. I use that class only for connect my code to the bolt engine. With this change I can avoid creating a huge class with too many lines and can keep my logic in one place.

I think this can be usefull to anybody.

I replaced function_exists in line 383 to is_callable because it's capable to handle the more complex verification of callables (can handle array and object as callable).