Refactor IdeStateListener internals
Refactor IdeDocumentListener and IdeProjectListener internals
Update .classpath
Draft new selestion event handling in IdeCodeListener