Modularize application

Modularize main by extracting api and rest.js usage, twitter utils,
and image reading, follow() function, etc.

This commit also tweaks a few other things:

1. Connects previously disjoint promise graphs to allow error propagation
2. Uses jquery event delegation instead of if/then tests
3. Other minor refactorings here and there to reduce indentation, etc.

This commit doesn't deal with mobile.js. We discussed potentially
switching away from jQuery Mobile to a pure css responsive approach.