Ignore `undefined` value for options object and `startRule` option

So calling parse like this will use the default options instead

	var options = undefined
	parser.parse(input, options)

And  calling parser like this will use default `startRule` option instead

	var options = {}
	parser.parse(input, {startRule: options.startRule})