JS backend: add NotNull annotations
JS backend: convert PropertyTranslator to Kotlin
JS backend: support for explicit delegation

 #KT-4479 Fixed