Bug fix: Frame could not mask the payload correctly if the payload (buffer attribute) looks like number.

This was because if the payload looks like a number, the ^ operator in _mask() method is recognized as numeric XOR, not as bitstring XOR.
I Fixed the bug by explicitly stringifying the $payload.

This bug blocks the tests I'm writing for AnyEvent::WebSocket::Client, so I hope this patch will be released on CPAN soon.