codegen: Fix static struct initializers on MSVC
codegen: Fix static struct initializers on MSVC

E.g. the following code in libgee:

    private static GLib.Once<ThreadPool<TaskData<G>>> async_pool;

Would generate:

    static GOnce gee_task_data_async_pool = (GOnce) G_ONCE_INIT;

Which MSVC does not like:

    task.c(59): error C2099: initializer is not a constant

However, removing the (redundant) cast is enough to make MSVC happy.

This regression was introduced in be3c13f. To solve this issue we skip
the cast for initializer expressions, as the type is already implied by
the left-hand side of the expression.

frida/vala,frida/vala,frida/vala,frida/vala,frida/vala