Add in feature to use a callback with the jsapi for calling google.load

This patch allows you to define a callback for the Google JSAPI. This is helpful when dynamically inserting the output from a GSP into another page, ensuring loading order of the Javascript. This is particularly useful when trying to create all-in-one widgets from various GSP pages that will be inserted elsewhere.

For instance, if you have the following simple GSP:
```
<g:set var="callbackName" value="loadCallback"/>
<gvisualization:apiImport callback="${callbackName}"/>
<gvisualization:geoChart callback="${callbackName}" elementId="chart"  ...  />
<div id="chart"></div>
```

This now will create the following output:

```
<script type="text/javascript" src="//www.google.com/jsapi?callback=loadCallback"></script>
<script type="text/javascript">
    
    function loadCallback() {
        google.load('visualization', '1', {'packages': ['geochart'], 'callback': drawVisualization});
    }
    
    function drawVisualization() {
           .... Visualization params and call ....
    }
</script>
<div id="chart"></div>
```
This now explicitly ensures that the JSAPI will load before trying to call google.load.