Refactoring devtools

- Breaking apart large `index.js` file
- Decoupling compilers from actual implementation. Now they're just an exported function
- Allowing additional compilers to be passed in via config
- Tests!
- README!