Got "basic" buffering working with the file and with thrust GPU processing.
The file reading currently doesn't work correctly if Y or Z dimensions are used for the X/Y/Z dimensions.
The buffering code will need to be altered to properly support this.