Massive rewrite. Read for more.

Added CraftyEntity and separated its functions from the selector.
Changed Crafty's selector to be a proxy for calling functions on objects
that it holds.
Added forEach to Array and Object prototypes.
Added window unload handler to stop crafty.
Simplified some of the logic in the core function.