Unload on scrollout

This pull requests add 2 configurations option `unload` and `placeholder`
`unload` is a boolean option
`placeholder` is a string
When unload is true, now when the image scrolls out off the screen it will change the image back to the placeholder image. This is valuable for devices with limited memory (mobile devices). Images that are not on display don't need to be kept in memory.

In order to make this work I had to fix a bug where every image above the screen was automatically loaded.  If you scroll to the bottom of a echo.js enabled page and refresh, when the page loads you will be at the bottom of the page but all the images above the screen are loaded immediately instead of lazily.

I added two other options for flexibility, but they aren't really needed, `offsetBot` and `offsetTop`. They allow you to individually set the padding above and below the window. They fallback to use the `offset` option if one of them is not provided.