Add RewindInputStream for inSampleSize decoding of HTTP.

Since HTTP streams can only be read once we were previously unable to do inSampleSize decoding on them. This pulls introduces an input stream delegate which buffers the first read into memory. It can then be told to rewind so that the second read (doing the full decode) get the entire stream.

Closes #12.