Fix bug in _SAT collision test

The test improperly detected min/max values in some cases.  This fixes that issue by comparing to +/- Infinity instead of special casing the initial values.  (It also gets rid of a now needless comparison, which might help performance.)

This also includes a test that catches the issue.

Fixes issue #828
Module.export the Crafty object so it can be used by npm
Merge pull request #829 from starwed/sat-fix

Fix bug in _SAT collision test
Do not reset components when doing a hard reset
Merge pull request #830 from kevinsimper/resetFix

Do not reset components when doing a hard reset - Fixes #827
Fix doc bug; cleanup ternary syntax

- Fixes a documentation bug that gave incorrect default paths for `Crafty.load`
- Changed style of ternary operator usage, hopefully improving code clarity
Fix whitespace error in tests/core.js
Merge pull request #831 from starwed/load-fixing

Fix doc bug; cleanup ternary syntax in loader.js
Implement a new strategy for avoiding event queue mutation

The event callback queue can mutate in ways that mess up the iteration.  There are two cases we need to handle:
- While iterating through an event's callbacks, a new one is added.  This should not be triggered.
- When a callback is removed, we shouldn't actually mutate the callbacks array if this iteration was triggered in the middle of an iteration over the same array.

The first is solved by registering the callback array's length at the time iteration starts.  The second is solved by adding a depth counter to each callback array.  It's iterated at the beginning of iteration, and decremented at the end.  Items are removed from the callbacks array only when the counter indicates a depth of 1.

This patch adds a test for the addition of a callback mid-event.  It also adds one for binding/triggering groups of entities at once, since I noticed a typo I introduced while modifying the code wasn't being caught by the existing tests.
Merge pull request #832 from craftyjs/event-loop-fix

Implement a new strategy for avoiding event queue mutation
Release 0.6.3 of Crafty

Change name to craftyjs because crafty is already taken on NPM
If window is not defined
Merge branch 'develop' into testing

Conflicts:
	package.json