cached data for demo

I added this to avoid hitting the public API every time.
added a couple of new endpoints

* get show details
* remove viewed status from an episode
* get all the user's favorite and viewed data for the grid
documentation , cache , handling errors and formatting

* documented the API a little better
* added support for reading from the cache instead of hitting the
TVRage API
* added error handling to the destruction event (would explode trying
to use _rev of undefined object)
* added method to wrap resultset in the dojo.data format
UI with dojo

* created the core ui
* added tiny CSS rules
* created a ShowDetails widget