replace SM with Castle Windsor

This implementation works, but I'm not crazy around some of the
registration. collection resolvers may be able to handle ienumerable<T>
dependencies