Fix #1184: Add missing argument to .apply()

The Javascript .apply() method takes two arguments: A context argument and an array of values. In CPWebScriptObject callWebScriptMethod:withArguments, only an array of arguments was passed to the .apply() method.

This fix inserts `this` as the first argument, and the array of arguments as the second. This has been converted to a pull request from the original issue (#1184)

The original issue also suggested a fix for handling namespaces, which are not incorporated in this patch.
Change `this` to `_window` in apply()
Merge pull request #1810 from ahankinson/fix-issue1184

Fix #1184: Add missing argument to .apply()