[Application] Add application context, kill, launch and app info events support

The supported APIs are listed below:
Application,
ApplicationContext,
ApplicationManager.getCurrentApplication,
ApplicationManager.getAppContext/getAppsContext,
ApplicationManager.kill/launch,
ApplicationManager.addAppInfoEventListener/removeAppInfoEventListener

As we runs extension process logic on launcher now, the AUL related APIs can be
directly called in this extension.
The C++ Application class will represent current running application and owned
by ApplicationExtension. The ApplicationManager class will provide methods to
manipulate other applications and listening to app info events.
Merge pull request #286 from seanlong/app_dev

[Application] Add application context, kill, launch and events support