Cause MenuDeactivate event to be delivered when appropriate

This is achieved by moving the FireMenuDeactivate call to
MenuStrip.Dismiss and causing it to be called in a couple of places
where it ought to be.