add support for cropped image data (pixel array from canvas's 2D context) in addition to data URI
prepare for non-square selection areas; refactor bounds to use northwest/southeast corner points and width, computing the area center point from those (rather than setting it directly)
finish implementing canvas boundary collision checking; swap draw crop area arguments back to their original order; small whitespace cleanup
allow size of square-like areas (width equals height) to be set with a single numeric size value
simplify square corners/dimensions calculations
first cut of rectangular selections, where each corner can be dragged independently; refactor square to extend rectangle and override its mouse move method; add convenience method for setting selection size by 2 corner points (northwest and southeast)
use canvas/size height properties when preventing dragging outside out height bounds
use actual selection size for size of generated image
allow result image size to be configurable (this was removed in previous commit); this can either be a scalar value for square-like selections, an object containing the width/height dimensions, or the string "selection" to use the dimensions of the current selection; fixes bug property setter bug introduced in a1a700f
fix up type checking in result image size setter
return an object containing null values and do not attempt to get image data when no image is available
Merge branch 'master' of https://github.com/PortChaw/ngImgCrop

Conflicts:
	source/js/ng-img-crop.js
add missing comma, I don't write pojo enough :P