(bug 43006) Simpler implementation of disable for SnakTypeSelector

This basically reverts the enable/disable implementation of I14e89ecc and introduces an alternative
approach. Also fixes the problem that the SnakTypeSelector would not work anymore after I14e89ecc
got merged too early.
The new approach will not change event listeners but instead, the widget simply won't display the
menu anymore in case the widget's current state is set to disabled.
Also improved events bound to window/document for listening whether the menu should be hidden after
a click. This will now support multiple instances of the widget. There will still be one listener
per opened menu of an instance. The difference is, that only the listener of the instances whose
menu has been closed will be removed (before, listeners of all instances were removed as any menu
did close).

- patch set 1: remove some useless mw.log() call, isDisabled now uses option( 'disabled' ) call.
- patch set 2: improved destroy()
- patch set 3: Updated inline comments

Change-Id: I4952fd505814877568a47a4807c56caa8b82b16f
Merge "(bug 43006) Simpler implementation of disable for SnakTypeSelector"