Virtual Classes for Scala implemented as annotation macro