Add foundation for cross-platform hot-reload system by isolating
loaded modules from source files using a temporary directory.
Changes:
- Add configurable tmp directory parameter to stk_init()
(defaults to mods/.tmp/ if not specified)
- Copy all modules from mods/ to .tmp/ on initialization
- Load modules exclusively from .tmp/ directory
- Clean up .tmp/ directory on shutdown
- Add cross-platform file operations:
* platform_mkdir() - create directories
* platform_copy_file() - copy files
* platform_remove_file() - delete files
* platform_remove_dir() - delete directory and contents
- Improve BSD kqueue implementation to detect file overwrites
(adds individual file watches with NOTE_WRITE)
This isolates the loaded shared libraries from source files,
preventing segfaults when users overwrite mods using cp/copy
operations. The actual reload logic remains unimplemented
(marked as TODO in stk_poll switch cases).