Update Gruntfile.js, a couple CSS fixes and changes

### Gruntfile.js
A few more grunt tasks were added:
- grunt-browser-sync (serve files on localhost so changes can be
immediately seen)
- grunt-imageoptim (lossless image compression)
- grunt-newer (only process files if they have been changed)

Run `grunt build` to compile everything; `grunt serve` to open file in browser.
* * *
### CSS
I made the box-shadow for the loading indicator change from white and glow-y to more subtle and consistent with the rest of the modal. Not sure if this is what you want, but here it is.
![new-loading-shadow](https://cloud.githubusercontent.com/assets/5727389/4097585/fc25bcdc-2fd9-11e4-9cba-5129e359e60d.png)

I also added a little CSS to preload images: 
````css
body::after {
    content: url(image1.png) url(image2.png); /* etc. */
    display: none;
}
````
This utilizes the time until the full modal is displayed to load everything so that there is no flash when the browser has to load a hover variation of an image (for example).