Fix for firefox 23

In order to do this, I moved all modules that needed Components into
their own jsm modules. This is actually a better way to do this.

closes #54
Fix jshint errors.