AnimatorBase.setModeBits(..): Only issue initImpl() if required - and throw 'is started' exception in such case; Cleanup brackets.
X11Util: Fix comment on markAllDisplaysUnclosable semantics, add 'final', reorder globalLock/isJVMShuttingDown branch/sync
NEWT/X11: Proper static initSingleton() sequence.
GLWindow: Mention GLStateKeeper's GL state preservation in API doc
Fix Bug 761 (part 1/2): Move GLDrawableFactory.shutdownHook -> NativeWindowFactory.shutdownHook, the latter handles customShutdownHooks for NativeWindow, JOGL and NEWT.

Unifying our shutdown mechanism is required to provide a controlled shutdown sequence.
NativeWindowFactory is chosen to be the new central entry point, since it is the lowest denominator (common module).

- Move GLDrawableFactory.shutdownHook -> NativeWindowFactory.shutdownHook
  Reverse the shutdown dependency for clarity and availability to all modules,
  i.e. NEWT may not know about JOGL.

  Remove the 'gamma' shutdown hook,
  instead simply call GLDrawableFactoryImpl.resetDisplayGamma() before destroy.

NativeWindowFactory.shutdownHook handles customShutdownHooks for NativeWindow, JOGL and NEWT
  - Modules can register their shutdown runnable at head or tail of list.
  - Allows controlled shutdown across all modules.
Fix Bug 761 (part 2/2): NEWT registers one customShutdownHook @  NativeWindowFactory.shutdownHook head, allowing proper resource cleanup.

1 WindowImpl.shutdownAll():
  - For all instances:
    - mark invalid (causes any user thread to disregard the window)

2 ScreenImpl.shutdownAll():
  - Removed own shutdown-hook!
  - For all instances:
    - Reset ScreenMonitorState

3 DisplayImpl.shutdownAll():
  - For all instances:
    - Remove EDT
    - closeNativeImpl

Manually tested on X11 w/ NV and ATI Catalyst (fglrx)
  - DFLAGS="-Djogl.debug.GLDrawable -Dnativewindow.debug.X11Util -Dnativewindow.debug.NativeWindow -Dnewt.debug.Display -Dnewt.debug.Screen -Dnewt.debug.Window"
  - java $DFLAGS com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT -time 2000 -sysExit testExit
  - valid arguments for sysExit: testExit, testError, displayExit, displayError