Respoke TodoMVC

## Background
This TodoMVC demonstrates a framework agnostic and simple way to incorporate real-time messaging into your application using the Respoke API. Respoke makes it simple to add live voice, video, text, and data features to your website or app without having to worry about maintaining and enhancing all the server infrastructure needed for production ready apps.

![image](https://cloud.githubusercontent.com/assets/376230/4791422/e5650d78-5ddc-11e4-84f6-c37a2c02cfec.png)

## How To Use
- Open https://rawgit.com/tiandavis/todomvc/master/examples/vanillajs-respoke/index.html
- Open a second instance in either Chrome Incognito (cmd + shift + n) or Firefox
- From there simply use the TodoMVC application
- Expect what you type in one browser instance to automagically show up in the second browser instance

## Running The Code
- npm install
- bower install
- gulp
- open http://localhost:8080/examples/vanillajs-respoke/

## Real-Time Messageing Integration and Specs
All TodoMVC functionality is integrated with the Respoke API. Including: 'Create a New Todo', 'Remove a Todo', 'Complete a Todo', 'Complete All Todos' and 'Clear Completed Todos'.

All Specs have been regression tested and are passing:

![image](https://cloud.githubusercontent.com/assets/376230/4791597/9c8c94de-5dde-11e4-9abf-e0fb7263f410.png)


this pattern you're using is weird. `callback.call(this, ...)`

I have never seen this in any javascript code, and I don't really know why you would want to change the execution context of a passed in callback. 

should really just be `callback(...)`