(feat) Implement video queue feature, Refactor main.js into controllers and services, create tests

- Implemented basic video queue that syncs across all users
![image](https://cloud.githubusercontent.com/assets/4007936/4710961/c5dfe1e2-58b1-11e4-8f0c-cfe5d932bca4.png)
- Refactored main.js and broke it up into its component controllers and factories (I've left main.js in, but we can probably delete it now)
- Create tests and tidy up a bit