Add compiler

Also,
 * remove webpack
 * remove rewire
 * `phantomjs` as default test runner
I changed the implementation to allow us to inject dependencies without rewire. As such, it's not strict move.