Go bindings for libghostty-vt. pkg.go.dev/go.mitchellh.com/libghostty

make every handle `Close` idempotent #27

Open robmorgan.id.au
targeting main
Open opened by and assigned to robmorgan.id.au
targeting main

Every handle type now guards Close against nil receivers and repeated calls by clearing its C pointer after freeing it, matching the pattern SnapshotDecoder already used. Previously, a second Close on a Terminal, Formatter, Search, RenderState, encoder, event, parser or iterator would double-free the underlying C allocation.

Terminal.Close also clears its effect buffer fields after freeing them.

Note: I know you're going to potentially break the API, but I'm trying to complete a convention the codebase already started; Go programmers expect Close to be repeatable like most stdlib types.

This pull request has no versions submitted yet.