Watch maps for changes and support reloading

The reload happens automatically when there are no currently unsaved
changes. It can also be triggered manually from the File menu. When
there are unsaved changes, the user is notified about changes to the map
file by a non-modal popup.

The undo history is lost when reloading a map for now. It would be nice
to change it so that it is kept in the future, but this isn't trivial to
implement.

Closes #56

Sponsored-by: FlatRedBall.com