Adds new dependency injection API for 0.9 release (expand for details).

Adds component scanning.
Refactors singleton pattern support.
Adds prototype pattern support.