vkbeautify splits `<b xmlns="foo" />` into two fragments during
preprocessing. The `<b` fragment incorrectly incremented the indent
depth, but the corresponding decrement never fired because `/>` was
on the xmlns fragment, not a standalone self-closing token. Subsequent
siblings were therefore indented one level too deep.
Fix by moving the xmlns branch before the generic `/>` branch in the
if-else chain and decrementing depth when the xmlns fragment ends
with `/>`. The vkbeautify xml and createShiftArr functions are inlined
into XMLBeautify.mjs to avoid patching node_modules directly.
Fixes#2501
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>