Replace the legacy `readBuiltInModule` function returning a raw char* with the new `loadBuiltInModule` returning a `WrenLoadModuleResult` struct, and update the CLI's `readModule` to `loadModule` accordingly. This change adds a proper `onComplete` callback for freeing module source memory, ensuring compatibility with the Wren 0.4.0 VM's updated module loading interface.
Update version macros in wren.h to reflect 0.4.0 release, add conditional
WREN_API dllexport/import decoration for Windows DLL builds, and change
WrenReallocateFn typedef to accept a third void* userData parameter for
context-aware memory management. Also normalize line endings in several
optional module source files (meta, random) from CRLF to LF.
Add a new `--version` flag to the CLI help output alongside the existing `--help` flag. Reformat the help text to include a section header "Optional arguments:" and improve spacing with a blank line before the argument list. This enhances the user experience by providing clearer documentation of available command-line options directly from the terminal.