Closes #508
Closes #508

We now throw a custom exception as opposed to the trident Unspecified error when we detect that the anchor element of a shown flyout is not an element in the DOM.
In addition we have lengthened the window in which developers can hide the flyout to prevent the crash. Previously it was possible to get caught up in a perfect storm when you try to navigate while A flyout is showing and the virtual keyboard was up, such that the only way to avoid a crash after navigating was to preempt the virtual keyboard and hide the flyout before the keyboard starts hiding.

Now it is sufficient to prevent the crash by hiding the flyout after navigating, anytime before the virtual keyboard finishes hiding as opposed to before it starts hiding.

CensoredUser/winjs,edrohler/winjs,kevinwsbr/winjs,IveWong/winjs,gautamsi/winjs,gautamsi/winjs,IveWong/winjs,CensoredUser/winjs,jmptrader/winjs,grork/winjs,grork/winjs,nobuoka/winjs,jmptrader/winjs,PaulWells/winjs,Guadzilah/winjs,PaulWells/winjs,gautamsi/winjs,nobuoka/winjs,kevinwsbr/winjs,IveWong/winjs,Guadzilah/winjs,KevinTCoughlin/winjs,Guadzilah/winjs,GREYFOXRGR/winjs,kevinwsbr/winjs,rigdern/winjs,edrohler/winjs,GREYFOXRGR/winjs,ladyinblack/winjs,ladyinblack/winjs,PaulWells/winjs,KevinTCoughlin/winjs,jmptrader/winjs,nobuoka/winjs,grork/winjs,GREYFOXRGR/winjs,KevinTCoughlin/winjs,ladyinblack/winjs,CensoredUser/winjs,edrohler/winjs,rigdern/winjs,rigdern/winjs