API Architecture modified

NOTICE: LauncherImp is largely modified. If you want to implement
LauncherFrame but Launcher then you need to have a look at newly added
code, especially [ATTRIBUTES_LAUNCHERFRAMEIMP] and
[ATTRIBUTES_NAME_CLASSNAME]