Make ctx.types.ptr a property (address space 0) instead of a method call,
with addrspace_ptr(n) for non-default address spaces. Add split_basic_block,
instruction_clone, and set_called_operand to support IR transformation
workflows. Improve get_operand bounds checking to report index and count
instead of segfaulting. Add LibXml2 workaround for LLVM 21 on Windows.
New regression tests for operand bounds and split_basic_block. Update all
existing tests, examples, and docs to use the new ptr property syntax.
Fix test_type_crash.py to use function_type instead of type (pointer)