CharBench: Evaluating the Role of Tokenization in Character-Level Tasks