SemToken: Semantic-Aware Tokenization for Efficient Long-Context Language Modeling