Dev

Well, here is my pull request.

I didn't completely finish rewriting it, but I'm still publishing this pull request because of I probably won't have much time keeping up the work in the near future.

Notes:
- The popup would benefit IMO from a data binding framework such as KnockoutJS or Angular. I tried KnockoutJS, but it didn't work due to its use of eval(). This is disallowed in a Chrome extension unless you declare a specific property in the manifest ([further information](http://developer.chrome.com/extensions/contentSecurityPolicy.html)). As far as I know, Angular can be configured to not violate the CSP.

- `content.js` is a mix of logic and view-related stuff. Separation via some simple controller methods would a be good choice. For example, these controller methods could handle the commands sent from the popup.