Fix mouse handling inside a scrollable div.

See also #870, which was incorrectly merged.
Stop Event.js from messing with global Event objects.

Fix #1170.
Merge pull request #1167 from aspectit/scrollTop-new

Fix mouse handling inside a scrollable div.
Merge pull request #1171 from aspectit/eventjs

Stop Event.js from messing with global Event objects.
fabric.Object.fillRule support using globalCompositeOperation

Full support for the fabric.Object.fillRule option for any visual objects.
_setupFillRule(ctx) is used to set CanvasRenderingContext2D.globalCompositeOperation (from fillRule property).
_restorFillRule(ctx) restores previously saved globalCompositeOperation.
Both methods are called form the render() method, so individual blending settings for each object can be specified.
Speed up getElementStyle
Add JSCS validation & change bunch of things for conformance. Down to 333 failures from ~1000.
Add jscs as a dev dependency
Update package.json
More JSCS fixes; down to 295 failures
Make mouse handling respect CSS scaling.

Also DRYs getPointer() calls in many places.

See #868.
Also consider CSS transforms when handling mouse.
Handle missing canvas bounds information correctly.

Fixes test failure.
Make ElementsParser a constructor function and create instances in fabric.parseElements
Added semicolon to satisfy jshint
Move ElementsParser instance methods to prototype
Added missing semicolon
Merge pull request #1136 from msievers/parser_race_condition

Fix race condition in fabric.parseElements by converting ElementsParser to a constructor function
Merge pull request #1168 from aspectit/css-scale-new

Fix mouse handling if the canvas has been scaled via CSS.
Fix require typo