Add grunt-contrib-connect package and connect task

`grunt connect` task can be used to run a local HTTP server.
Failing test for the Crafty.frame();
Remove frame variable so the crafty scope can access frame variable. Fixed #688
Abstract viewport resizing

Add setters/getters for the viewport, and trigger a "ViewportResize" event.  Use that event to alter the dimensions of the stage and canvas appropriately.
Fix shared coord issue
Switch redraw event name to "Invalidate"

Currently we use "Change" to indicate both when an attribute has been changed by `attr`, and to indicate when an entity needs to be redrawn.
This patch switches the name of the latter type of event to "Invalidate".

Since every other instance of "Invalidate" doesn't pass any date, this no longer passes the old coordinates when an entity is invalidated becuase of a move -- the event "Move" already covers that case.
More documentation for storage function
Added the storage to the test again

New tests for storage.js
Updated the documentation for the storage function explaining when to use it

If the localStorage object is not supported return false.

Added documentation for remove function
Move sprite function to sprite.js