Add Binary Strings
Add two binary strings and return their sum as a binary string. The input strings represent non-negative integers and contain only the characters '0' and '1'. Handle arbitrarily long strings without using built-in big integer conversion.