[Desktop] Implement app launch from the manifest path

This patch changes the Crosswalk application launch behavior on
desktop: instead of providing the path to the application root
directory the User now should provide path to the manifest file.
This allows us to remove the logic for "guessing" which oh the
files within the application folder should be recognized as the
manifest file.

The patch contains also multiple refactorings among which:
1) The Manifest class does not contain the app id and does not
watch whether the application is hosted or not: all these goes
to the ApplicationData class which is more appropriate.
2) Instead of binding the application config file type to the
package file extension we introduce 'Manifest::Type { TYPE_MANIFEST,
TYPE_WIDGET }' which correspond to w3c.github.io/manifest and
http://www.w3.org/TR/widgets application config specifications
accordingly. That made the code more clear and fixed a lot of
"FIXMEs".

The code size has decreased by approximately 70 LOC.
`ID()` -> `application_id()`