Create a new object when initializing a reader to prevent changes to the original buffer.

Small changes to the reading functions.