Enable support for non seekable resources

This does not support streaming atm. I'll work on this issue soon. Also refactoring of other code is required. This pull request just shows the current status of this work on that issue.

Fixes #24