The buffer class has two main responsibilities. It holds a subsection
of the data and can return a 2-D slice of the subsection it holds in memory.
Currently buffer class stores data as either a series of bytes
of floats in a regular mesh, but it is not limited to this storage mechanism.
The data could be stored in number of compressed formats. A dataset
can be composed of several different buffers.