[win8] Ensure the desktop type (e.g. ash) of a hosted app launch matches the launching app list

Apps launched from an app launcher should always launch on the same
desktop type that a particular app launcher was launched for. Relying on
GetActiveDesktop is too error-prone.

This CL adds the desktop type to AppLaunchParams and ensures the desktop
type is fed through to the specific launch functions used for hosted apps.
Packaged apps are not yet addressed by this CL, and will be fixed in a
follow-up.

R=benwells@chromium.org,sky@chromium.org
TBR=sky@chromium.org
BUG=288251
TEST=A reliable repro that works around http://crbug.com/303524 seems to be:
- Ensure Chrome is not running, then open a Chrome browser in desktop mode
- Open app launcher from taskbar, launch Webstore
-> Webstore should open in the Desktop browser
- Close Webstore tab. Open Chrome in Ash. Enter Win8 split screen, put Ash
in a small part of the screen on the left, put Win8 desktop on the other half.
- In the little ash window, Open Ash's App Launcher. Open Webstore.
-> Webstore should open in the Ash mode browser window.
(before this fix, it would open in Desktop mode)

Previously Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=229534

Review URL: https://codereview.chromium.org/23902048

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229766 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229766