fixed #1617: Some improvements for JS Bindings.
1) Changed cc.REPEAT_FOREVER = - 1 to cc.REPEAT_FOREVER = 0xffffffff
[Reason]: If cc.REPEAT_FOREVER = -1, it will be a very big double value after converting it to double by JS_ValueToNumber on android.
Then cast it to unsigned int, the value will be 0. The schedule will not be able to work.
I don't know why this occurs only on android.
[Solution]: Instead of passing -1 to it, I assign it with max value of unsigned int in c++.

2) Added two helper function, cc.ArrayGetIndexOfObject and cc.ArrayContainsObject.

3) Added JSScheduleWrapper::removeTargetForNativeNode to avoid memory leaks.

4) Improvments for JSTouchDelegate. Added four functions as follows:
// Set the touch delegate to map by using the key (pJSObj).
static void setDelegateForJSObject(JSObject* pJSObj, JSTouchDelegate* pDelegate);

// Get the touch delegate by the key (pJSObj).
static JSTouchDelegate* getDelegateForJSObject(JSObject* pJSObj);

// Remove the delegate by the key (pJSObj).
static void removeDelegateForJSObject(JSObject* pJSObj);

void unregisterTouchDelegate();
And exported cc.unregisterTouchDelegate(); to js.
Fix a memory leak for JSTouchDelegate by making it as an autorelease object.

5) Don't add js callback function to the reserved slot of object.
[Reason]: The target object may execute more than one schedule.
Therefore, previous js callback function will be replaced
by the current one. For example:

this.scheduleOnce(function() { temporary function 1 }, 0.5);
this.scheduleOnce(function() { temporary function 2 }, 0.5);

In this case, the temporary function 1 will be removed from reserved slot 0.
And temporary function 2 will be set to reserved slot 0 of this object.
If gc is triggered before the JSScheduleWrapper::scheduleFunc is invoked,
crash will happen. You could simply reproduce it by adding jsc.garbageCollect(); after scheduleOnce.
[Solution] Because one schedule corresponds to one JSScheduleWrapper, we root
the js callback function in JSScheduleWrapper::setJSCallbackFunc and unroot it
at the destructor of JSScheduleWrapper.
Missing subproject
Enable Windows XP support in Visual Studio 2012 Update 1.

Not tested with Visual Studio 2010, not sure will it work with PlatformToolset v110_xp.
Setting Windows app title
ESC button on Windows behaves like Back button
Updated the submodule of cocos2d-js-tests.
Merge pull request #1767 from dumganhar/gles20

Updated the submodule of cocos2d-js-tests.
Merge pull request #1764 from dumganhar/iss1617-js-improvements

fixed #1617: Some improvements for JS Bindings.
Moved the submodule of cocos2d-js-tests and renamed it to Shared.
Merge branch 'gles20' of https://github.com/cocos2d/cocos2d-x into iss1603-refactor-folder

Conflicts:
	samples/Javascript/Shared
issue #1603: Moved the position of some projects.
Updated android build files.
issue #1603:adjust samples directory

Signed-off-by: minggo <ming@cocos2d-x.org>
Merge branch 'iss1603-adjust-directory' of https://github.com/minggo/cocos2d-x into iss1603-refactor-folder
issue #1603:build CocosDragon ok on iOS and android
issue #1603:build MoonWarriors ok on iOS and android
Updated vs project configuration after adjusting directory.
issue #1603: Added libJSBinding project for win32 platform.
issue #1603: fixed some warnings.
issue #1603:make some samples build ok on iOS