JavaScript dependency injection library