Update js nucleotide counts to only pass over the sequence once

Use reduce directly on Strings using .call instead of splitting into an
Array first. Also go with the constructor + prototype pattern as it
feels appropriate here. It's not exposing anything publicly that doesn't
need to be exposed, and it's optimizing for amount of work required to
create a new DNA instance.