One big headache my Dropwizard-based project has is how difficult it is to compose a bunch of different 'flavors' of application from multiple pieces.
One annoyance you've solved -- Configuration. I really like the way you solved the configuration problem of allowing each module to define its own configuration, and then letting the composing application combine each module configuration.
It did take me a while of headscratching to realize... "Oh, the Guice JIT binding is used by default. But, if the Application creates a Provider, that'll be used instead"