Rename di.create() to di.createKernel() and add a tests for the case of an existing property
Support for recursive dependencies
Add a test to ensure the same instance is injected to all children
Restructure objects, hide global variables inside a "sample" window object and improve the examples with logging counting