Performance: Parse attribute values in bulk

Profiling (using https://github.com/gwicke/nodegrind) showed that parsing time on documents with large quoted attribute
values was dominated by buf2str. This patch addresses this by accumulating
attribute values in a string, and extracting the bulk of the value with
regexps to avoid the conversion to and from char codes.

On a large document with several data attributes
(http://parsoid-lb.eqiad.wikimedia.org/enwiki/Barack_Obama?oldid=608145977)
parse times drop from around 564ms to about 351.