improve the launching story a bit

This CL makes the run web app and the run chrome app launches a bit more general. They try and run the 'right' thing based on the current selection. If the current file is launchable, it'll use that. Otherwise it'll look for launchable files in the current directory. It falls back to looking on some default locations in the project - so `web/index.html`, and `manifest.json` and `app/manifest.json`.

Fixes #1025, fixes #1027

@dinhviethoa - this fixes an issue assigned to you