ContentDialog: Suppress edgy & type to search

Summary of changes:

- ContentDialog
  - Update accent color
  - Add doc comments for DismissalReason
  - Use aria-flowfrom/flowto to cause Narrator to caurosel rather than
    leaving dialog
  - Make ContentDialog more aggressive about eating keys
    - Goal: app hotkeys won't work (e.g. alt+left arrow to trigger the WinJS
      back button) but browser hotkeys will (e.g. ctrl+n for a new browser
      window)
  - Suppress SearchBox's type to search feature while a ContentDialog is
    showing by canceling WinJS.Application's
    beforeRequestingFocusOnKeyboardInput event
  - Suppress edgy while a ContentDialog is showing
- WinJS.Application
  - Add support for stopImmediatePropagation
  - Wrap the edgy WinRT events so that they can be suppressed
  - Wrap the type to search WinRT event (requestingfocusonkeyboardinput)
    so that it can be suppressed
    - Did this as 2 events (beforerequestingfocusonkeyboardinput and
      requestingfocusonkeyboardinput). Mark former as handled to suppress
      the latter. The WinRT requestingfocusonkeyboardinput fires on every
      key press so this was implemented carefully so that
      WinJS.Application only registers for the event if somebody is
      interested in handling it.
- SearchBox implements type to search in JavaScript when the WinRT API
  isn't available. This implementation was moved into WinJS.Application
  and exposed via WinJSApplication's requestingfocusonkeyboardinput event
- SearchBox now consumes WinJS.Application's type to search event instead
  of the WinRT one
- AppBar and Overlay now consume WinJS.Application's edgy events instead
  of the WinRT ones
update itemData.container before focusin eventHandlers can run.
Merge branch 'master' into AmazingJaze/listviewstriping