Fix JS_WIDESTRING to work with clang-cl

MSVC lexes L#macro_arg as a single wide string literal token, but
Clang and other C/C++ compliant lexers do not.  There was already
a workaround to use implicit string concatenation for GCC, but there's
a simpler solution of token pasting the L onto the stringized macro
argument with 'L###macro_arg'.  This works with Clang, GCC, and MSVC.

R=jun_fang@foxitsoftware.com, jam@chromium.org
BUG=82385

Original patch by Reid Kleckner <rnk@chromium.org>

Review URL: https://codereview.chromium.org/345643002
diff --git a/AUTHORS b/AUTHORS
index 1d2ef49..0d72e22 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -20,6 +20,7 @@
 Matt Giuca <mgiuca@chromium.org>
 Nico Weber <thakis@chromium.org>
 Raymes Khoury <raymes@chromium.org>
+Reid Kleckner <rnk@chromium.org>
 
 Foxit Software Inc <*@foxitsoftware.com>
 Google Inc. <*@google.com>
diff --git a/fpdfsdk/include/javascript/JS_Define.h b/fpdfsdk/include/javascript/JS_Define.h
index cc20333..ba978e9 100644
--- a/fpdfsdk/include/javascript/JS_Define.h
+++ b/fpdfsdk/include/javascript/JS_Define.h
@@ -44,11 +44,7 @@
 #define CJS_IntArray		CFX_ArrayTemplate<int>
 
 /* ====================================== PUBLIC DEFINE SPEC ============================================== */
-#ifndef __GNUC__
-#define JS_WIDESTRING(widestring) L#widestring
-#else
-#define JS_WIDESTRING(widestring) L""#widestring
-#endif
+#define JS_WIDESTRING(widestring) L###widestring
 
 #define OBJ_PROP_PARAMS			IFXJS_Context* cc, CJS_PropValue& vp, JS_ErrorString& sError
 #define OBJ_METHOD_PARAMS		IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, JS_ErrorString& sError