JuliaLowering: Use Core._defaultctors for default constructor generation
This change aligns JuliaLowering with flisp behavior by using
`Core._defaultctors` to generate default constructors at runtime instead
of generating constructor code at compile time.
Additionally, inner constructors now use `GlobalRef` directly to
reference the struct type, eliminating the need for a global declaration
in their `scope_block`. This removes the duplicate `declare_global` that
was previously emitted for structs with user-defined inner constructors.
The `scope_block` for inner constructors is retained to prevent helper
functions defined in the struct body from leaking to the module's
global scope.