Add zoom
Implement zoom for brushes, various zoom fixes, remove canvasBorder.
Fixes to zoom for groups and brushes.
Merge branch 'master' of https://github.com/kangax/fabric.js

Conflicts:
	dist/all.js
	dist/all.require.js
	src/brushes/circle_brush.class.js
	src/brushes/spray_brush.class.js
	src/canvas.class.js
	src/mixins/canvas_events.mixin.js
	src/mixins/object_interactivity.mixin.js
	src/shapes/group.class.js
	src/shapes/image.class.js
	src/shapes/object.class.js
	src/util/misc.js
Merge branch 'master' of https://github.com/kangax/fabric.js

Conflicts:
	dist/all.require.js
Fixed control and group selection rendering
Merge remote-tracking branch 'upstream/master'

Conflicts:
	.gitignore
	dist/fabric.js
	dist/fabric.require.js
	src/brushes/circle_brush.class.js
	src/canvas.class.js
	src/mixins/canvas_events.mixin.js
	src/mixins/object_geometry.mixin.js
	src/mixins/object_interactivity.mixin.js
	src/shapes/group.class.js
	src/shapes/image.class.js
	src/shapes/object.class.js
	src/shapes/path_group.class.js
	src/shapes/text.class.js
Merge remote-tracking branch 'upstream/master'
JShint
JSHint, restoring .gitignore
Stray console.log removed.
Fixes for controlsAboveOverlay
Replaced viewport-moving functions.
Fix group.hasMoved
Calculate group coordinates when initializing
Build and minify
Zoom overlay and background images
Fixes for group coordinates (coordinates now also generated before group is added to canvas)
Use of tag use

Deep cloning nodes that should be used before normal document parsing.
Update shadow.class.js

Shadow return null if null is passed.
Makes .setShadow(null) works.