Refactor DrawManager.draw into separate routines triggered by an event

Instead of directly calling Crafty.DrawManager.draw(), this patch triggers a "RenderScene" event.  draw() is now split between two functions; renderCanvas() and renderDOM().  Using an event instead of a hardcoded function call should make it possible to add new types of rendering.
Create a debug layer

* Add a debug canvas and a base "DebugCanvas" component
* Create several components that build additional functionality on top of the debug canvas
* Add tests and docs
Merge pull request #484 from starwed/debugLayer

Add a rendering layer for debugging