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.
Merge pull request #268 from pcc/menudeactivate

Cause MenuDeactivate event to be delivered when appropriate