Adds a level option to gifsicle

Oi!

I had an issue with corruption on some gifs with gifsicle. The corruption (not relevant for image_optim) happened after a resize like:

```
convert funny_image.gif -resize 100x100 funny_image_resized.gif
```

I've also added the `--careful` flag from gifsicle so we produce more compatible gifs, but that might have been a mistake, and please notify if you want me to remove it. 

Gifsicle actually obeys the flag `-O0` so I considered using that instead of removing the flag, but since it isn't documented by Gifsicle I opted for the solution without `-O` for when level is zero.