constructor cleanup to remove the need to reuse the grammar
use single parser object and minor cleanup
add windows version of the gnu time-based benchmark