Improve options.locations performance by tracking newlines rather than finding them
Store default walker in exports.base, rather than exports itself

My initial idea, that client code would constantly need to access the individual
walker functions directly, isn't actually the case. This prevents unnecessary copying
of other interface functions into walkers.