discussion refactor and design change

Changes
------------
- refactored javascript
- bunch of bug fixes
- design change
- sorry for the big pull request

![image](https://cloud.githubusercontent.com/assets/960919/4632996/ef28986c-53c2-11e4-972b-ed4fe71c5532.png)

![image](https://cloud.githubusercontent.com/assets/960919/4632978/d0330370-53c2-11e4-987d-c52a4d62b8a2.png)



![image](http://media3.giphy.com/media/Md4xQfuJeTtx6/giphy.gif)
BOOOOOOOO!!!!

Seriously though, this whole file worries me. We're adding a lot of bloat to the initial blocking payload, when it could live in non-blocking javascript