Replace jquery-based ajax with our own iframe-based one.

This is to deal with different jsonp providers that each support some random
combination of jsonp=, callback=, always call jsonp(), or always call
google.visualization.Query.setResponse().  Now we support them all!  This
also lays the groundwork to eventually be able to run multiple fetches in
parallel, where before we couldn't because if two fetches had the same
stupid hardcoded call (like ...setResponse()) they'd end up overwriting each
other's data.  Now each iframe has its own isolated namespace so each
instance of ...setResponse() can be distinct.
1 file changed