feat(controllers): custom dependencies

Allow injecting custom service dependencies into controllers by passing in a second parameter,
containing the hash of service names and their implementation. This can be used to inject jasmine
spies or other custom services into controllers.