Refactor ExpressionCodegen#invokeMethodWithArguments

- for inlining purposes, take ResolvedCall.getCall() instead of a separate
  parameter
- split into two methods, the other one will be used for a more granular code
  generation of a method call
(TODO check) Minor, add nullability annotations and toString()
(TODO) Fix super calls