Integer#chr raises RangeError on more invalid codepoints.

MRI behaviour with invalid codepoints is to raise RangeError, while RBX was to produce strings with invalid encoding.
Additional tests have been written to ensure RangeError is raised on a selection of invalid codepoints from UTF-8 and UTF-16.

This commit fixes the issues with the fast_blank gem, which aggressively tests its behaviour on each UTF-8 codepoint. :smiley: