MOSYNC-3063: added the structure of the new widget creation - 'maWidgetSetProperty' implemented async
MOSYNC-3064: added the test program that tests the 'maWidgetSetProperty' syscall for the windows phone runtime
Merge remote-tracking branch 'github_origin/master' into mosync_3018_story
MOSYNC-3063: done - commented some code + refactoring - NativeUIModule now contains a AsyncNativeUIWindowsPhone object that inherits from UIManager (removed the unused methods from UIManager)
MOSYNC-3063: - added some comments and a small refactorization after cipri code reviewed the task
MOSYNC-3096: added the basic structure for maWidgetCreate to be run async - a WidgetBaseMock is created and a handle is returned by the syscall. The WidgetBaseMock contains information like the runtime, widget handle and operation queue. This information is copied inside the new widget (created on a separate thread) when the creation is complete.
MOSYNC-3096, MOSYNC-3097: added a check inside MoSyncUtil RunActionOnMainThread that checks if we're on the current thread and runs the action; Moved most of the business logic for handling syscalls asyncronously inside MoSyncNativeUIAsync.cs; large refactorization of the current mosync runtime - added many regions(for a better lisibility) and grouped methods based on their scope
MOSYNC-3097: refactorization + added a system that waits for the widget creation if add child gets called from the operation queue and the child hasn't been created (blocks the UI by joining with the creation thread); a dictionary contained by the native ui module keeps track of the mapping between the widget handle and the thread that handles its creation; MOSYNC-3102: implemented 'maWidgetInsertChild' asynchronously - the same way as 'maWidgetAddChild'; Added a implementation of a simple benchmarking system (two counters are kept: one that keeps the number of created widgets and one that keeps the number of views ready for manipulation - both are contained by the native ui module; when the values are equal, the UI is ready and we ca do proper traking of the time between the application launching and the moment when the UI has been drawn)
Merge remote-tracking branch 'github_origin/master' into mosync_3068_story
Merge remote-tracking branch 'github_origin/master' into mosync_3068_story
MOSYNC-3105: implemented the maWidgetGetProperty asynchronously; MOSYNC-3104: implemented maWidgetRemoveChild asynchronously
MOSYNC-3068: refactored the widget creation system: we no longer relay on the view creation (in wormhole the layout updated event is not sent because the web view is not available so the operation queue is not run). Moved all the creation and waiting from widgets into the native ui module; added a widget handle-type mapping inside the native ui module for synchronous widget creation (if the set/get/add/remove/insert syscalls reach the native ui module on the ui thread, using a join would hang the application - instead we create the widget synchronously); the AsyncNativeUIWindowsPhone module no longer needs a reference to the Core - it only uses the runtime
Merge remote-tracking branch 'github_origin/master' into mosync_3068_story
MOSYNC-3068: updated the documentation; refactored the code; updated the test program - now contains a list view with many list view items, horizontal layouts and buttons
MOSYNC-3019: small code refactoring + documentation + threading corner case covered; MOSYNC-3019: implemented the basic structure for immediate error checking + implementations for: WidgetBaseWindowsPhone, Screen, TabScreen and StackScreen
Merge origin/master conflicts solved
MOSYNC-3068: solved a bug (when adding a child the child now sets it parent and the parent adds the child on the main thread); MOSYNC-3019: updated some validation functions; cleared some warnings
MOSYNC-3068: removed some benchmarking features
Merge remote-tracking branch 'spiri/mosync_3068_story'

Conflicts:
	runtimes/csharp/windowsphone/mosync/mosyncRuntime/Source/Modules/NativeUI/MoSyncImage.cs
	runtimes/csharp/windowsphone/mosync/mosyncRuntime/Source/Modules/NativeUI/MoSyncImageButton.cs