[generator] Introduce DelegateName to stop overloading the meaning of EventArgs
[generator] Introduce DelegateName to stop overloading the meaning of EventArgs

Previously we used the EventArgs attribute for two purposes, to name the
EventArgs class created when we pack arguments for events raised by
our generated C# event wrappers for Objective-C delegates and also to
name the C# delegate used for signatures when instead of an event, we
use a property.

Use a separate attribute for those cases to resolve the confusion

mono/maccore,beni55/maccore,jorik041/maccore,cwensley/maccore