Create the Crafty model component with core `attr` updates.
Switch to defineProperty in all cases

Currently we use __defineGetter style syntax, but it has [been deprecated](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FObject%2FdefineGetter).

This switches us to using defineProperty, which works in every browser we support.  (IE9+, any non-ancient version of Firefox, etc.)
Set enumerable properties

This sets it so that the "private" 2D properties (`._x`, `._h` and so on) are non-enumerable, while their associated setter/getters are.

Seems to work in Firefox/Chrome/Safari, haven't checked mobile, can't test it in IE.
Round translation in canvas setTransform

The translation in setTransform should be rounded to the nearest pixel, since canvas implementations deal with fractional coordinates inconsistently.
Merge pull request #703 from blainesch/feature/model_core

Create the Crafty model component with core `attr` updates.
Merge pull request #725 from starwed/int-viewport

Round translation in canvas setTransform
Reorganize init/removal of DOM component

DOM wasn't really cleaning up after itself.  This moves all the logic to the special `remove` function, and unbinds all the events properly.  To unbind them, the event handlers are now _methods of the DOM component.

There was an also an issue where undraw would throw when the entity's element wasn't actually attached directly to the stage.  It's now just removed from its parentNode.

Adds tests to cover invalidation and cleanup.
Pause *before* firing "AnimationEnd"

Currently, if you try to play a new animation by binding to "AnimationEnd", it'll be paused right after the event fires.  This just switches the order, and adds a test for animation chaining.
Merge pull request #728 from starwed/defineProperty

Switch to defineProperty; set enumerable flags to be consistent with private/public properties
Merge pull request #727 from starwed/dom-removal

Reorganize init/removal of DOM component
Improve "Color" init/remove routine

- Allows the "Color" component to be properly removed from entities.
- Properly invalidates the entity when "Color" is added.
- Adds a test for removal of color
Merge pull request #731 from starwed/anim-pause-order

Pause *before* firing "AnimationEnd"
Merge pull request #733 from starwed/color-fix

Improve "Color" init/remove routine
fixed Vector2D bugs
Update the documentation for the Mouse component

It needed to be more clear that you have to include the Mouse component before you can bind to Mouse events, else you could expect it to be like jQuery and wonder why i do not trigger anything.
Removed the text "the entity" from the triggers because it makes it more easier to read and you do understand that it talks about the entity.
Included a better link for the MouseEvent details.
Updated with a working example you can copy and paste.
Fix type and added MouseEvent link to mouseDispatch too
Merge pull request #736 from kevinsimper/MouseDocs

Update the documentation for the Mouse component
Better documentation on Storage limitations (5MB, shared on domain)

Update documentation to mention key details about storage (wraps around Web Storage / HTML5) and has a 5MB limit per domain.
Merge pull request #740 from ashes999/develop

Better documentation on Storage to explain the limitations
Improve Collision onHit documentation

This commit fixes #739.