added LexError and LexInput.NewError(msg) plus tests