changed return type of Tokeniser.consumeCharacterReference from Character to char[], and also changed TokeniserState accordingly
changed Entities.escape to escape String with supplementary characters correctly, and added two test cases to verify