Handle window events across multiple workbench events

ADT uses a "window coordinator" which listens for various window
related events (such as part activation, editors getting maximized
etc) to implement its various layout editor handling (to dock property
sheets within the layout editor unless it's shown in the surrounding
frame), to activate/deactivate editors for keybinding handling, etc.

This did not take into account the possibility of multiple workbench
windows getting opened. This CL adds proper support for this.  The
window coordinator is no longer a singleton; there is one instance per
workbench window, and AdtStartup listens for workbench events and
creates or disposes these on demand.

Change-Id: I298d9d82c7aefd684bcb1ace3bee0267e1f94a60
6 files changed