Adding a function as a source

Added the ability to populate via a function, similar to jQuery UI Autocomplete. Instead of a string or object, specify a function as the source parameter with two parameters (the query string and callback function respectively). The function can do what it needs to, then call the callback function passing through the query string and data as a JSON object.

In short, it works identically to adding a function as a source for the jQuery UI Autocomplete, except the callback function expects an extra parameter (the query string, as well as the JSON data).