Rewrite frontend with coffeescript

This isn't entirely ready to merge, but it's close. This pull request rewrites most of the frontend JS with coffeescript and introduces the following improvements:

* A more understandable and organized frontend codebase
* Minification on all JS resources
* One HTTP request per page for all JS resources
* Many home page activities moved to a web worker (significant performance boost)
* Home page workflow more stable (album creation works all the time, upload workflow is more consistent)
* User history (/mine) improved with respect to blob info caching, code understandability, and responsivity

@jdiez17 please check out the backend changes and make any adjustments you see fit. Notable problems are that mediacrush.js isn't being preprocessed and coffeescript files can't have unicode characters in them.

The frontend work is nearly done, I have to finish implementing something in api.coffee and I have to make minor changes to view.coffee. I would like to rewrite the media player JS with coffeescript, but I'm going to do that later, when I do the full-fledged media player overhaul. Also, the mobile home page hasn't been rewritten in coffeescript, but I also want to save this for later.