Added: 'object:removed' event

Inlined removeFromArray call (because it didn't return whether indexOf returned -1 or not so I couldn't know if 'object:removed' had to be fired or not
Added: 'canvas:cleared' event

When the canvas is cleared, it doesn't fire any 'object:removed' event, on purpose
Refactor some logic from canvas and object classes into mixins
More canvas refactoring
Fix for dynamic_origin + Remove lines correctly on object moving

Fix if objects have different origins (originX != 'center' and/or originY != 'center')
Lines now removed correctly on object:moving (bug since commit c4bec7045532886a338ef7ae91c80bfd8fb28851)

[BACK_INCOMPAT] for fabric.js versions < 1.0.0
Merge pull request #391 from Kienz/patch-1

Fix for dynamic_origin + Remove lines correctly on object moving
Remove old yui compressor file
Update uglyfyjs, build distribution
Bugfix for canvas.toDataURL() - canvas.clearContext(canvas.contextTop) in after:render clears context if canvas.toDataURL() is called.
Observe before:render and clear contextTop.
Merge pull request #392 from Kienz/aligning_bugfix

Bugfix align_guidelines for canvas.toDataURL()
Fixes for aligning_guidelines and centering_guidelines

aligning_guidelines:
- Bugfix for rotated objects - rotated objects should be aligned correctly

centering_guidelines:
- Fix for objects with different origin (originX or originY != 'center')
- Fix for clear lines
Merge pull request #395 from Kienz/aligning_centering_guidelines

Fixes for aligning_guidelines and centering_guidelines
Merge pull request #388 from FremyCompany/patch-1

Add 'object:removed' and 'canvas:cleared' events
Fixed event handling for touch-supported devices.
Merge pull request #397 from hickert/master

Update event registration for touch devices
Merge branch 'master' of https://github.com/kangax/fabric.js into cupcake