Handle Dotty Closures. Generate InvokeDynamic for them. Give a basis to generate them for Scalac

Based on https://github.com/retronym/scala/compare/topic/invoke-dynamic-lambda adapted to abstract from global.