Added IDependencyModule to allow plugins to define IoC bindings

Attempt number 2 at allowing plugins to set up their own bindings with the IoC container.

A plugin can create a class *with a parameterless constructor* which implements `IDependencyModule`. This interface has one method, `void BindDependencies(IDependencyContainer container)` which can be used to set up bindings.

These classes are instantiated and called during `BaseApplicationHost.RegisterResources`.