Reduce unnecessary memory copies by ByteVector

Originally, I got to this patch to solve the problem reported in the issue #121.
However, now I think that this patch does not actually solve the problem he reported.
I guess, the problem was already solved in the latest code here. 

I post this patch because I think it's still useful. It makes a significant speedup while parsing very large-sized tags.
In my environment, it took approximately 2.2 seconds to open the file reported.
Now it takes only 0.025 seconds.