Add waitTask lua api
Possible to execute javascript in a specified frame
Add CEF library, at present it is possible to compile
Add CEF3 library, at present it is possible to compile
incomplete commit
incomplete commit
Merge remote-tracking branch 'origin/cef' into cef

Conflicts:
	CPP/VS/Solution.sln
implement most of the functionality except some lua api
It is possible to use Ctrl+Enter in script edit box to execute lua script code
Implemented setTimeout, setTickCallback, splitString api
Use C++ complier to compile lua 5.1.4 so that c++ exception will be used for lua error handling. This make it possible to call destructor when lua error raised, e.g. luaL_error.
Remove some old project whild is not used any more.
Change c++ exception handling mode to /EHs (extern "C" may throw exception); Implemented execScript lua api
implemented api.eval()
Use frame name to get frame in api.eval() and api.execScript()
Add handler in lua script for alert event
Add lua template file
Make it possible to cancel a tick callback, i.e. setTickCallback(nil)
Use CreateBrowserSync instead of CreateBrowser
Enable development tools for browser
Make remote_debugging_port configurable. This means that remote debugging is disabled by default.
There are 2 reasons to make this change:
1. If remote debugging is not configurable and is enabled by default, a second browser process websocket can't bind that port because it already in use (see debug.log)
2. Should not enable remote debugging in the external development tools as it is actually another browser process