Add rudimentary zoom slider to canvas plugin (#92)

Adds a setupHook function to the plugin (called in setupInitialLoad)
since some settings only available after the initial AJAX request
are needed.
Use data parameter for GET request (close #87)

Introduces some major backwards incompatibility. Two settings,
iipServerBaseUrl and backendServer, have been removed, in favour of the
following:

* iipServerURL (same function as iipServerBaseUrl, only renamed for
  consistency)
* divaserveURL (the URL to the divaserve script, most likely the PHP
  file)
* imageDir (the image directory)
Merge branch 'develop' of github.com:DDMAL/diva.js into develop
Merge branch 'develop' of github.com:DDMAL/diva.js into develop
Reorganise project structure

This is a pretty large commit that includes the following changes:

* Added build/, source/, tests/ and demo/ directories
* Made use of iconPath setting in CSS and in the JS
* Added demos with improved layouts (real demos, with images)
* Separated "aesthetic" CSS from "structural" (see demos.css)
* Improved "build" workflow in fabfile
* Updated everything to jQuery 1.7.2
* Better double-viewer and integrated viewer layouts
* Changed "equals()" to "equal()" for QUnit tests

This commit is a work in progress. Lots more to do, including:

* Better test coverage (and updating existing tests)
* Write custom slider JS (the jQuery UI adds about 20KB which is silly)
* Fixed overflow: hidden issue on body when exiting fullscreen
* Clean up double-layout-demo.html
* Rename colours in variables.less based on functionality
* Improve plugin system
* Image sprites
* Clean up unnecessary files
* Documentation (including filling in readme files)
Delete unused single/double css files
Improved colour scheme customisation

Now all the colours used in diva.less are defined (based on
functionality) in variables.less, making it easier to customise the
colour scheme.
Update build/
Move inline-styled background images back to CSS

Some icons were styled in diva.js because they depended on the iconPath
setting. Since there is now an @iconPath variable in variables.less,
this is no longer necessary.

This commit also changes .center-icon to .plugin-icon and fixes that
(temp fix - there should be a better way to do it). A plugin directory
under img/ was also created.

To do:

* Move all the inline styling out of diva.js and do it with
  classes instead
* CSS sprites (requires .plugin-icon rewrite)
* Fix inconsistent iconPath expectations - with or without trailing /?
Rebuild
Update plugin system to implicitly enable plugins

Plugins now must attach themselves to a global array. They can be
disabled in settings, e.g. disableCanvas or disableDownload. Using
globals isn't great but since these plugins are basically using a hook
system it makes more sense to implicitly call any plugins that are
defined than to ask the user to list them (especially since they're
included in the build but are easy to overlook if they must be included
explicitly).

To demonstrate disabling plugins, one plugin in each viewer for the
double-viewer demo has been disabled.
Remove unused settings from demos
Update comments in plugin files
Make init() functions optional for plugins

If it's not defined, it should just do nothing rather than exploding
Make titleText optional for plugins

Before it would just say "undefined"
Omit trailing slash for @iconPath LESS variable
Delete brightness and rotate images

They were probably supposed to be used for the canvas plugin but
they're not currently being used. (Still in the history if they're
ever needed again.)
Rebuild
Remove unused plugins setting from integrated demo
Use ddmal.music.mcgill.ca for demos

This commit adds a demo.php file used to facilitate making cross-domain
requests (necessary for the demo to work).