Fix bug with background cover - add mouseout - add done callback

I had a bug with `background-size: cover` where it wasn't getting the size at the time of variable initialization, so I just moved that call in line.

I also added a `done` callback for when the user is done dragging. In the callback a user can just inspect the div and look at the `background-position` attribute if they want to use that in some way.

Also, I added the `mouseout` event, for when you are dragging the background image and move the mouse outside of the div and do a mouseup. The current implementation does not "let go" of the image.

I'd be more than happy to make any changes you think this may need, or split it out into multiple pull-requests as well if you want.