Drops deprecated, not used or duplicated methods
Position listener has a new trigger event: beforePositionChange

Now, observers can take actions before the position of navtable is
updated. This allows decoupled code like is done in this commit
with showWarning or stopCellEditing methods
Uses AbstractIWindow as parent class for AbstractNavTable
windowClosed calls removeLayerListeners instead

Previously was removing the listeners itself
SelectionListener is implemented by NavigationHandler

To have a more encapsulated code all 'selection stuff' will be
moved to NavigationHandler. In future, maybe it shoudl have it's
own class.
Removes isSomeNavtableOpen

This was only a hack. After the refactoring probably this was fixed
Uses AbstractNavtable methods directly
Removes all the remaining 'selection stuff' from AbstractNavtable

and moves it to NavigationHandler