bind ghostty_alloc/ghostty_free and replace C.malloc/C.free
Add alloc.go with exported Alloc and Free functions wrapping the
upstream ghostty_alloc() and ghostty_free() from allocator.h. These
use the default (NULL) allocator, matching how the rest of the
bindings pass nil for the allocator parameter.
This is important because it lets us not explicitly depend on any libc
functionality.