Better 'functions as a module' support

Now in order to mock dependency with some function e.g.:
````
sinon.spy();
````
you will need to wrap it into another function that is returns your mock func in such a way:
````
squire.mock('dependencyToMock', function() { return sinon.spy(); });
````
This pull request makes some changes in ````Squire#require ```` method in order to check whether the mock dependency for the requested module is a function and if so wrap it into another function before passing to the require.js' ````define```` method.
So that it is no need to make that wrapping when calling ````squire#mock````:
````
squire
    .mock('dependencyToMock', sinon.spy())
    .require(['modules/requiredModule'], function(RequiredModule) {
    // The RequiredModule's dependency 'dependencyToMock' has been mocked
    // to use the function returned by sinon.spy()
    ...
  });
````