Revert "Remove the separator characters construct"

This reverts commit 5cd07648fde3775a2935e21a8c791ce62760a212.

The separators construct is useful as an optimization. It turns out that
constructing a node for every chunk of whitespace in a document causes a
significant performance regression.

Conflicts:
	src/compiler/build_tables/build_lex_table.cc
	src/compiler/grammar.cc
	src/runtime/parser.c