[Bug 963248] Add size validation to snippets.

Makes sure that you cannot add a snippet that is larger than 500kb (on postback) and gives you a warning if you try to add a image that is larger than 300kb (dynamically using JS).

Looks like this 
![screen shot 2014-11-09 at 21 48 13](https://cloud.githubusercontent.com/assets/318208/4971691/03d80b06-685b-11e4-8ba0-450d47f4b57e.png)
and this
![screen shot 2014-11-09 at 21 50 05](https://cloud.githubusercontent.com/assets/318208/4971692/07054866-685b-11e4-963e-c5bf3f814936.png)

Bugs discovered while working on this:

-  Chrome (possibly others, not tested) will throw an error when the `data` input field (the one that holds the JSON representation of the snippet) is larger than 524288 bytes since that is [the hard limit on input size in webkit](https://bugs.webkit.org/show_bug.cgi?id=44883).
What do you think the default image size should be be since the current one is larger than 200kb?