Close flyout when clicking outside of it

PreviewMouseDown on MetroWindow which tries to find a Flyout parent, if it does not exist, then close the open flyouts.

PreviewMouseDown on flyoutModal to close modal flyouts when clicking on the darken area.


Fix_es #962
Should not be merged: #1000