fix recent jshint warnings
Merge pull request #602 from mucaho/jshint_rotation_twoway

fix recent jshint warnings
Improve documentation for Crafty.viewport.bounds
Merge pull request #604 from starwed/bounds-docs

Improve documentation for Crafty.viewport.bounds
Use getTime method instead of implicit conversion

This doesn't change anything in the behaviour, but it encourages good js
practices.

See also performances http://jsperf.com/date-timestamp
Merge pull request #605 from potomak/feature/remove-new-date-conversion

Use getTime method instead of implicit conversion
viewport for IE9/10, let it can init again.

  I need to use Crafty.stop(), and then use init to restart it, actually the point is to init() again. It seems strange, but I encounter a situation that the Crafty appears in one div, then it must appear in another div. When it is in IE10, I can't init for a second time just because configurable default to be false.
Merge pull request #608 from txcodelife/develop

viewport for IE9/10, let it can init again.
Add `avoidCss3dTransforms` flag

CSS 3D Transforms are used to set DOM entities position, this should
increase performances as these operations are hardware-accelerated but
using them for positioning makes CSS effects unavailable.

By setting this flag to true you can force DOM entities positioning
using left and top CSS properties.
Merge pull request #609 from potomak/feature/optional-css-3d-transform

Add `avoidCss3dTransform` flag
Make audio.play() return the audio element used to play the sound
Fix bug when using Crafty.audio.stop on a specific sound
Refactor animation.js to use a time based rather than frame based approach.

Crafty.easing
---------------
- A new object `Crafty.easing`; it abstracts the concept of a state that changes over time.
- Used in the new "Tween" and "SpriteAnimation" components; can also be used when we fix the viewport animation functions.
- No public documentation right now, since it's for internal use.
- Added tests in core.html

Tween
---------------
- Uses the new easing object
- Now treats a set of properties to tween as a group, only sending one "TweenEnd" event per group
- Removes some special handling for mouse events that I'm pretty sure is already handled by how the "2D" component works.
- Updated the docs and added tests in core.html

SpriteAnimation
---------------
- Uses the new easing object
- Refactored the interface completely.  Uses `reel()` to set and change reels, `animate()` to play them.  Favors composable single purpose methods over tons of optional arguments.  See documentation/source/tests for full details.
- The duration of an animation is now set in milliseconds when creating a reel, instead of in frames when playing it.
- Updated the docs and tests in animation.html
Merge pull request #583 from starwed/animation-overhaul

Refactor animation.js to use a time based rather than frame based approach.
Fix, for applying a flat array to a rotated model

The evaluation order was incorrect if you passed in a flat array for the collision area if the model was already rotated.
Merge pull request #612 from samccone/sjs/fix-collision-area

Fix, for applying a flat array to a rotated model
New event on hitbox change; lets debug components auto-match the hitbox
Fix off-by-one error in both animation.js and tests
Merge pull request #610 from starwed/audio-augment

Add a bit of functionality to Crafty.audio (.play() returns the audio element)
Merge pull request #613 from starwed/newhit

New event on hitbox change; lets debug components auto-match the hitbox