Resource streams improved: Filter chain hooks, byte range support

This allows for support of:
- Obfuscated fonts (https://github.com/readium/SDKLauncher-Android/issues/44)
- HTTP range requests (https://github.com/readium/SDKLauncher-Android/issues/29)

This fixes the following issues:
#132 - Reading filter chain aware byte streams should be more clear now (PackageResource helper class)
#103 - This is fixed for non filter chain byte streams (now called raw input streams)

Potentially fixes https://github.com/readium/SDKLauncher-Android/issues/22
Behind the scenes, this `seek()` performs 2x actual seeks in SeekableByteStream (first to reset, second to skip). This seems unnecessarily expensive. Would it be possible to have a `nativeSeek` in addition to the `nativeSkip`?