Extract Sheet and Shred classes away from their IO operations.

The change separates IO operations on sheets and shreds (loading/rendering) from actual CV operations by extracting Sheet into a separate class unaware of files, or directories.
This is intended to make it easier to introduce localised unittests for separate CV modules.
What's the point of storing it?