API architecture modified.

The API architecture is altered to fix theoretical bug. LauncherImp
cannot load LauncherFrame instance without guidance.
LauncherFrame is made to extend from class Frame, which is a much
stronger restriction.