Replace skip with our own implementation.

Using skip from Data.Binary.Get really is poisonous as hell, because it
actually reads the data rather than just advancing the file offset.

Though it's not very nice, we're using getLazyByteString and throw the
result away. By using this approach, we now no longer use several tens
of GB of RAM and we're down to the size of the image, which is still not
nice, but it's at least an improvement.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>