Fix: guard weapon draw data pointer reads to prevent AV crash race
v0.2.34's null-guard checked the character's native pointer once at the
top of FromCharacter, but GetWeaponDrawObjectData independently
re-fetched Native() and dereferenced it without a check. A
redraw/destroy race between the initial guard and the weapon-hidden
reads still produced an AccessViolationException with the same crash
signature. This release adds the missing null guard at the source and
both call sites (read + write paths).