Reorder scene init function, add new scene event

* Trigger "SceneChange" and set Crafty._current before new scene is initialized
* Trigger "SceneDestroy" right before a scene is destroyed
Timing events

This patch measures the time between each important part of the loop:

* The length of each "EnterFrame" and "RenderScene" event
* The time Crafty waits from the end of one to the beginning of the next

The time since the last frame is passed to the "EnterFrame" event as the property dt.

I also moved the docs for "EnterFrame" to Crafty.timer, since that's where the events happen.
Added support for parameter passing to scene init.

Crafty.scene(scene_name) can now accept an object parameter as follows: Crafty.scene(scene_name, parameter).  This parameter will be passed to the scene's init function.