Macros for simple/safe RPCs between Scala applications, including ScalaJS/ScalaJVM