Moved to a component-style architecture

This is the first step toward [the bright new future of Qu v2](https://github.com/cfpb/qu/wiki/Qu-v2-notes). This will allow us to have a plugin architecture.