Add capability to pass C# compiler flags

This adds the ability to pass in C# compiler flags (like `/unsafe`) when calling `edge.func(...)` with an inline function.

For example:
```js
var e = edge.func('cs', {
    source: function () {/*
        async (input) => {
            int res = -1;
            IntPtr p = IntPtr.Zero;
            try {
                p = System.Runtime.InteropServices.Marshal.AllocHGlobal(4);
                unsafe {
                   var pp = (int *)p.ToPointer();
                   *pp = (int)input;
                }
                res = System.Runtime.InteropServices.Marshal.ReadInt32(p);
            } finally {
                if (p != IntPtr.Zero) {
                    System.Runtime.InteropServices.Marshal.FreeHGlobal(p);
                }
            }
            return res;
        }
    */},
    flags: ['/unsafe']
});

```

Let me know if this is something you think is valuable for edge-cs compiler, and if there's any additional work you'd like done before merging (tests etc).