parse: use a smaller read buffer
parse: use a smaller read buffer

By default it is 4096 bytes. Make it be 256, since we will rarely take
advantage of much bigger buffers. We are mostly reading single bytes,
except when reading whole lines or single-quoted strings. These will
very rarely go over a couple hundred bytes.

Thus using a smaller buffer means some performance gains, but especially
a much smaller base memory usage.

name                 old time/op    new time/op    delta
Parse/Whitespace-4     2.62µs ± 1%    1.64µs ± 1%  -37.59%          (p=0.002 n=6+6)
Parse/Comment-4        1.64µs ± 3%    0.62µs ± 2%  -62.16%          (p=0.002 n=6+6)
Parse/LongLit-4        4.71µs ± 2%    3.49µs ± 2%  -25.87%          (p=0.002 n=6+6)
Parse/Cmds-4           19.5µs ± 2%    18.5µs ± 1%   -5.40%          (p=0.004 n=6+5)
Parse/Quoted-4         3.83µs ± 3%    2.66µs ± 2%  -30.72%          (p=0.002 n=6+6)
Parse/NestedStmts-4    11.5µs ± 1%    10.4µs ± 1%  -10.10%          (p=0.004 n=5+6)
Parse/Clauses-4        8.19µs ± 0%    7.01µs ± 2%  -14.41%          (p=0.004 n=5+6)
Parse/Binary-4         7.81µs ± 1%    6.58µs ± 1%  -15.80%          (p=0.002 n=6+6)
Parse/Redirect-4       9.59µs ± 1%    8.55µs ± 1%  -10.83%          (p=0.002 n=6+6)
Parse/Arithm-4         7.28µs ± 1%    6.11µs ± 2%  -16.11%          (p=0.002 n=6+6)

name                 old alloc/op   new alloc/op   delta
Parse/Whitespace-4     4.26kB ± 0%    0.42kB ± 0%  -90.23%          (p=0.002 n=6+6)
Parse/Comment-4        4.49kB ± 0%    0.65kB ± 0%  -85.56%          (p=0.002 n=6+6)
Parse/LongLit-4        5.16kB ± 0%    1.32kB ± 0%  -74.42%          (p=0.002 n=6+6)
Parse/Cmds-4           10.1kB ± 0%     6.3kB ± 0%  -37.97%          (p=0.002 n=6+6)
Parse/Quoted-4         5.15kB ± 0%    1.31kB ± 0%  -74.53%          (p=0.002 n=6+6)
Parse/NestedStmts-4    7.59kB ± 0%    3.75kB ± 0%  -50.58%          (p=0.002 n=6+6)
Parse/Clauses-4        6.18kB ± 0%    2.34kB ± 0%  -62.10%          (p=0.002 n=6+6)
Parse/Binary-4         7.18kB ± 0%    3.34kB ± 0%  -53.45%          (p=0.002 n=6+6)
Parse/Redirect-4       7.32kB ± 0%    3.48kB ± 0%  -52.47%          (p=0.002 n=6+6)
Parse/Arithm-4         5.86kB ± 0%    2.02kB ± 0%  -65.48%          (p=0.002 n=6+6)

mvdan/sh,mvdan/sh,mvdan/sh,mvdan/sh