Add extension point for preprocessing of inner class usages

Add usages processor (with corresponding extension point) which is invoked when inner class is moved to top level. The goal is to provide other languages with a way to modify constructor invocations (e.g. in Kotlin ```A().B()``` should become ```B(A())```).