Provide a server result in fail callbacks. Closes #2687
Release version 9.0.0.
Updated dependencies and installed JSHint grunt task.
Call file.size only once and only if necessary

Discovered while profiling (using Chrome) that the file.size property is expensive. This code change optimizes performance by only accessing the 'size' property once and only if needed.
Merge pull request #2722 from dougdomeny/patch-1

Call file.size only once and only if necessary
Refactored last merge, updated version number.
File size validation performance improvements. Thanks @dougdomeny
Added imageQuality option, which is passed to the canvas.toBlob method to save resized images.

Removed mozGetAsFile code from the image processing plugin, as Firefox
supports setting the FormData filename since version 22 (current
version being 25).
Added imageForceResize option, to force writing to and saving images from canvas.

This will also process images via canvas that fit the maximum
constraints.
Added imageType option to force the type for the image saved from canvas.
Added imageQuality, imageType and imageForceResize options.
Added ignore section and missing main entries in bower.json.
Distribute only relevant files via bower. Closes #2726
Updated dependencies.
Added option to group files in one XHR request based on their file size and the upload file size limit

If your upload limit is say 1MB and you have 100 files of 20Kb you could set the limitMultiFileUploads to 50 to minimize requests. However is there is one 30kb file the batch containing that group will fail. So I coded an uploadSizeLimitMultiFileUploads option that will calculate the max number of files that fit in one request based on a set upload size. I added a 512 bytes overhead for each file for the calculations to be on the safe side. Hope you find these useful, it is very useful if you want to upload 1000s of small files. Thanks

Signed-off-by: Maarten Ottens <m@maartenottens.com>
Merge pull request #2740 from ottens/master

Added option to group files in one XHR request based on their file size ...
Added options limitMultiFileUploadSize and limitMultiFileUploadSizeOverhead based on @ottens pull request #2740.
Updated AngularJS reference to version 1.2.1.
Trigger aborts of unstarted file uploads in the core plugin. Closes #2751
Use scope.evalAsync to make sure the digest cycle is triggered.