Validate any string as a JavaScript variable name, taking into consideration both the ECMAScript 6 specification and Unicode 8.0.0, as well as reserved words and invalid escape sequences in older engines.