Dependency injection for Cucumber-Scala

This change set changes the way objects are created in the ScalaBackend similar to the JavaBackend to support dependency injection.
The Cucumber-SubCut module supports the light weight Scala dependency Injection mechanism SubCut.
(https://github.com/dickwall/subcut)